From cdc4ee3615846c10ebffadcb507cf714944f30b9 Mon Sep 17 00:00:00 2001 From: JJ Kasper Date: Wed, 2 Feb 2022 13:23:51 -0600 Subject: [PATCH] Ensure browserslist extends works properly (#33890) * Ensure browserslist extends works properly * add comment --- packages/next/compiled/browserslist/index.js | 2 +- packages/next/taskfile.js | 18 +++++++++- test/e2e/browserslist-extends/index.test.ts | 38 ++++++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 test/e2e/browserslist-extends/index.test.ts diff --git a/packages/next/compiled/browserslist/index.js b/packages/next/compiled/browserslist/index.js index 101070133c778..a3f020a9a715f 100644 --- a/packages/next/compiled/browserslist/index.js +++ b/packages/next/compiled/browserslist/index.js @@ -1 +1 @@ -(()=>{var e={446:e=>{function BrowserslistError(e){this.name="BrowserslistError";this.message=e;this.browserslist=true;if(Error.captureStackTrace){Error.captureStackTrace(this,BrowserslistError)}}BrowserslistError.prototype=Error.prototype;e.exports=BrowserslistError},567:(e,s,r)=>{var n=r(945);var t=r(768).agents;var a=r(742);var i=r(17);var o=r(477);var l=r(446);var f=r(711);var u=365.259641*24*60*60*1e3;var d=37;var c=1;var v=2;function isVersionsMatch(e,s){return(e+".").indexOf(s+".")===0}function isEolReleased(e){var s=e.slice(1);return n.some((function(e){return isVersionsMatch(e.version,s)}))}function normalize(e){return e.filter((function(e){return typeof e==="string"}))}function normalizeElectron(e){var s=e;if(e.split(".").length===3){s=e.split(".").slice(0,-1).join(".")}return s}function nameMapper(e){return function mapName(s){return e+" "+s}}function getMajor(e){return parseInt(e.split(".")[0])}function getMajorVersions(e,s){if(e.length===0)return[];var r=uniq(e.map(getMajor));var n=r[r.length-s];if(!n){return e}var t=[];for(var a=e.length-1;a>=0;a--){if(n>getMajor(e[a]))break;t.unshift(e[a])}return t}function uniq(e){var s=[];for(var r=0;r"){return function(e){return parseFloat(e)>s}}else if(e===">="){return function(e){return parseFloat(e)>=s}}else if(e==="<"){return function(e){return parseFloat(e)"){return function(e){e=e.split(".").map(parseSimpleInt);return compareSemver(e,s)>0}}else if(e===">="){return function(e){e=e.split(".").map(parseSimpleInt);return compareSemver(e,s)>=0}}else if(e==="<"){return function(e){e=e.split(".").map(parseSimpleInt);return compareSemver(s,e)>0}}else{return function(e){e=e.split(".").map(parseSimpleInt);return compareSemver(s,e)>=0}}}function parseSimpleInt(e){return parseInt(e)}function compare(e,s){if(es)return+1;return 0}function compareSemver(e,s){return compare(parseInt(e[0]),parseInt(s[0]))||compare(parseInt(e[1]||"0"),parseInt(s[1]||"0"))||compare(parseInt(e[2]||"0"),parseInt(s[2]||"0"))}function semverFilterLoose(e,s){s=s.split(".").map(parseSimpleInt);if(typeof s[1]==="undefined"){s[1]="x"}switch(e){case"<=":return function(e){e=e.split(".").map(parseSimpleInt);return compareSemverLoose(e,s)<=0};case">=":default:return function(e){e=e.split(".").map(parseSimpleInt);return compareSemverLoose(e,s)>=0}}}function compareSemverLoose(e,s){if(e[0]!==s[0]){return e[0]=e}));return r.concat(a.map(nameMapper(t.name)))}),[])}function cloneData(e){return{name:e.name,versions:e.versions,released:e.released,releaseDate:e.releaseDate}}function mapVersions(e,s){e.versions=e.versions.map((function(e){return s[e]||e}));e.released=e.versions.map((function(e){return s[e]||e}));var r={};for(var n in e.releaseDate){r[s[n]||n]=e.releaseDate[n]}e.releaseDate=r;return e}function byName(e,s){e=e.toLowerCase();e=browserslist.aliases[e]||e;if(s.mobileToDesktop&&browserslist.desktopNames[e]){var r=browserslist.data[browserslist.desktopNames[e]];if(e==="android"){return normalizeAndroidData(cloneData(browserslist.data[e]),r)}else{var n=cloneData(r);n.name=e;if(e==="op_mob"){n=mapVersions(n,{"10.0-10.1":"10"})}return n}}return browserslist.data[e]}function normalizeAndroidVersions(e,s){var r=d;var n=s[s.length-1];return e.filter((function(e){return/^(?:[2-4]\.|[34]$)/.test(e)})).concat(s.slice(r-n-1))}function normalizeAndroidData(e,s){e.released=normalizeAndroidVersions(e.released,s.released);e.versions=normalizeAndroidVersions(e.versions,s.versions);return e}function checkName(e,s){var r=byName(e,s);if(!r)throw new l("Unknown browser "+e);return r}function unknownQuery(e){return new l("Unknown browser query `"+e+"`. "+"Maybe you are using old Browserslist or made typo in query.")}function filterAndroid(e,s,r){if(r.mobileToDesktop)return e;var n=browserslist.data.android.released;var t=n[n.length-1];var a=t-d-s;if(a>0){return e.slice(-1)}else{return e.slice(a-1)}}function resolve(e,s){if(Array.isArray(e)){e=flatten(e.map(parse))}else{e=parse(e)}return e.reduce((function(e,r,n){var t=r.queryString;var a=t.indexOf("not ")===0;if(a){if(n===0){throw new l("Write any browsers query (for instance, `defaults`) "+"before `"+t+"`")}t=t.slice(4)}for(var i=0;i 0.5%","last 2 versions","Firefox ESR","not dead"];browserslist.aliases={fx:"firefox",ff:"firefox",ios:"ios_saf",explorer:"ie",blackberry:"bb",explorermobile:"ie_mob",operamini:"op_mini",operamobile:"op_mob",chromeandroid:"and_chr",firefoxandroid:"and_ff",ucandroid:"and_uc",qqandroid:"and_qq"};browserslist.desktopNames={and_chr:"chrome",and_ff:"firefox",ie_mob:"ie",op_mob:"opera",android:"chrome"};browserslist.versionAliases={};browserslist.clearCaches=f.clearCaches;browserslist.parseConfig=f.parseConfig;browserslist.readConfig=f.readConfig;browserslist.findConfig=f.findConfig;browserslist.loadConfig=f.loadConfig;browserslist.coverage=function(e,s){var r;if(typeof s==="undefined"){r=browserslist.usage.global}else if(s==="my stats"){var n={};n.path=i.resolve?i.resolve("."):".";var t=f.getStat(n);if(!t){throw new l("Custom usage statistics was not provided")}r={};for(var a in t){fillUsage(r,a,t[a])}}else if(typeof s==="string"){if(s.length>2){s=s.toLowerCase()}else{s=s.toUpperCase()}f.loadCountry(browserslist.usage,s,browserslist.data);r=browserslist.usage[s]}else{if("dataByBrowser"in s){s=s.dataByBrowser}r={};for(var o in s){for(var u in s[o]){r[o+" "+u]=s[o][u]}}}return e.reduce((function(e,s){var n=r[s];if(n===undefined){n=r[s.replace(/ \S+$/," 0")]}return e+(n||0)}),0)};function nodeQuery(e,s){var r=n.filter((function(e){return e.name==="nodejs"}));var t=r.filter((function(e){return isVersionsMatch(e.version,s)}));if(t.length===0){if(e.ignoreUnknownVersions){return[]}else{throw new l("Unknown version "+s+" of Node.js")}}return["node "+t[t.length-1].version]}function sinceQuery(e,s,r,n){s=parseInt(s);r=parseInt(r||"01")-1;n=parseInt(n||"01");return filterByYear(Date.UTC(s,r,n,0,0,0),e)}function coverQuery(e,s,r){s=parseFloat(s);var n=browserslist.usage.global;if(r){if(r.match(/^my\s+stats$/i)){if(!e.customUsage){throw new l("Custom usage statistics was not provided")}n=e.customUsage}else{var t;if(r.length===2){t=r.toUpperCase()}else{t=r.toLowerCase()}f.loadCountry(browserslist.usage,t,browserslist.data);n=browserslist.usage[t]}}var a=Object.keys(n).sort((function(e,s){return n[s]-n[e]}));var i=0;var o=[];var u;for(var d=0;d<=a.length;d++){u=a[d];if(n[u]===0)break;i+=n[u];o.push(u);if(i>=s)break}return o}var p=[{regexp:/^last\s+(\d+)\s+major\s+versions?$/i,select:function(e,s){return Object.keys(t).reduce((function(r,n){var t=byName(n,e);if(!t)return r;var a=getMajorVersions(t.released,s);a=a.map(nameMapper(t.name));if(t.name==="android"){a=filterAndroid(a,s,e)}return r.concat(a)}),[])}},{regexp:/^last\s+(\d+)\s+versions?$/i,select:function(e,s){return Object.keys(t).reduce((function(r,n){var t=byName(n,e);if(!t)return r;var a=t.released.slice(-s);a=a.map(nameMapper(t.name));if(t.name==="android"){a=filterAndroid(a,s,e)}return r.concat(a)}),[])}},{regexp:/^last\s+(\d+)\s+electron\s+major\s+versions?$/i,select:function(e,s){var r=getMajorVersions(Object.keys(o),s);return r.map((function(e){return"chrome "+o[e]}))}},{regexp:/^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,select:function(e,s,r){var n=checkName(r,e);var t=getMajorVersions(n.released,s);var a=t.map(nameMapper(n.name));if(n.name==="android"){a=filterAndroid(a,s,e)}return a}},{regexp:/^last\s+(\d+)\s+electron\s+versions?$/i,select:function(e,s){return Object.keys(o).slice(-s).map((function(e){return"chrome "+o[e]}))}},{regexp:/^last\s+(\d+)\s+(\w+)\s+versions?$/i,select:function(e,s,r){var n=checkName(r,e);var t=n.released.slice(-s).map(nameMapper(n.name));if(n.name==="android"){t=filterAndroid(t,s,e)}return t}},{regexp:/^unreleased\s+versions$/i,select:function(e){return Object.keys(t).reduce((function(s,r){var n=byName(r,e);if(!n)return s;var t=n.versions.filter((function(e){return n.released.indexOf(e)===-1}));t=t.map(nameMapper(n.name));return s.concat(t)}),[])}},{regexp:/^unreleased\s+electron\s+versions?$/i,select:function(){return[]}},{regexp:/^unreleased\s+(\w+)\s+versions?$/i,select:function(e,s){var r=checkName(s,e);return r.versions.filter((function(e){return r.released.indexOf(e)===-1})).map(nameMapper(r.name))}},{regexp:/^last\s+(\d*.?\d+)\s+years?$/i,select:function(e,s){return filterByYear(Date.now()-u*s,e)}},{regexp:/^since (\d+)$/i,select:sinceQuery},{regexp:/^since (\d+)-(\d+)$/i,select:sinceQuery},{regexp:/^since (\d+)-(\d+)-(\d+)$/i,select:sinceQuery},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/,select:function(e,s,r){r=parseFloat(r);var n=browserslist.usage.global;return Object.keys(n).reduce((function(e,t){if(s===">"){if(n[t]>r){e.push(t)}}else if(s==="<"){if(n[t]=r){e.push(t)}return e}),[])}},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/,select:function(e,s,r){r=parseFloat(r);if(!e.customUsage){throw new l("Custom usage statistics was not provided")}var n=e.customUsage;return Object.keys(n).reduce((function(e,t){if(s===">"){if(n[t]>r){e.push(t)}}else if(s==="<"){if(n[t]=r){e.push(t)}return e}),[])}},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/,select:function(e,s,r,n){r=parseFloat(r);var t=f.loadStat(e,n,browserslist.data);if(t){e.customUsage={};for(var a in t){fillUsage(e.customUsage,a,t[a])}}if(!e.customUsage){throw new l("Custom usage statistics was not provided")}var i=e.customUsage;return Object.keys(i).reduce((function(e,n){if(s===">"){if(i[n]>r){e.push(n)}}else if(s==="<"){if(i[n]=r){e.push(n)}return e}),[])}},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/,select:function(e,s,r,n){r=parseFloat(r);if(n.length===2){n=n.toUpperCase()}else{n=n.toLowerCase()}f.loadCountry(browserslist.usage,n,browserslist.data);var t=browserslist.usage[n];return Object.keys(t).reduce((function(e,n){if(s===">"){if(t[n]>r){e.push(n)}}else if(s==="<"){if(t[n]=r){e.push(n)}return e}),[])}},{regexp:/^cover\s+(\d+|\d+\.\d+|\.\d+)%$/i,select:coverQuery},{regexp:/^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/i,select:coverQuery},{regexp:/^supports\s+([\w-]+)$/,select:function(e,s){f.loadFeature(browserslist.cache,s);var r=browserslist.cache[s];return Object.keys(r).reduce((function(e,s){var n=r[s];if(n.indexOf("y")>=0||n.indexOf("a")>=0){e.push(s)}return e}),[])}},{regexp:/^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function(e,s,r){var n=normalizeElectron(s);var t=normalizeElectron(r);if(!o[n]){throw new l("Unknown version "+s+" of electron")}if(!o[t]){throw new l("Unknown version "+r+" of electron")}s=parseFloat(s);r=parseFloat(r);return Object.keys(o).filter((function(e){var n=parseFloat(e);return n>=s&&n<=r})).map((function(e){return"chrome "+o[e]}))}},{regexp:/^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function(e,s,r){var t=n.filter((function(e){return e.name==="nodejs"})).map((function(e){return e.version}));return t.filter(semverFilterLoose(">=",s)).filter(semverFilterLoose("<=",r)).map((function(e){return"node "+e}))}},{regexp:/^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function(e,s,r,n){var t=checkName(s,e);r=parseFloat(normalizeVersion(t,r)||r);n=parseFloat(normalizeVersion(t,n)||n);function filter(e){var s=parseFloat(e);return s>=r&&s<=n}return t.released.filter(filter).map(nameMapper(t.name))}},{regexp:/^electron\s*(>=?|<=?)\s*([\d.]+)$/i,select:function(e,s,r){var n=normalizeElectron(r);return Object.keys(o).filter(generateFilter(s,n)).map((function(e){return"chrome "+o[e]}))}},{regexp:/^node\s*(>=?|<=?)\s*([\d.]+)$/i,select:function(e,s,r){var t=n.filter((function(e){return e.name==="nodejs"})).map((function(e){return e.version}));return t.filter(generateSemverFilter(s,r)).map((function(e){return"node "+e}))}},{regexp:/^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,select:function(e,s,r,n){var t=checkName(s,e);var a=browserslist.versionAliases[t.name][n];if(a){n=a}return t.released.filter(generateFilter(r,n)).map((function(e){return t.name+" "+e}))}},{regexp:/^(firefox|ff|fx)\s+esr$/i,select:function(){return["firefox 78","firefox 91"]}},{regexp:/(operamini|op_mini)\s+all/i,select:function(){return["op_mini all"]}},{regexp:/^electron\s+([\d.]+)$/i,select:function(e,s){var r=normalizeElectron(s);var n=o[r];if(!n){throw new l("Unknown version "+s+" of electron")}return["chrome "+n]}},{regexp:/^node\s+(\d+)$/i,select:nodeQuery},{regexp:/^node\s+(\d+\.\d+)$/i,select:nodeQuery},{regexp:/^node\s+(\d+\.\d+\.\d+)$/i,select:nodeQuery},{regexp:/^current\s+node$/i,select:function(e){return[f.currentNode(resolve,e)]}},{regexp:/^maintained\s+node\s+versions$/i,select:function(e){var s=Date.now();var r=Object.keys(a).filter((function(e){return sDate.parse(a[e].start)&&isEolReleased(e)})).map((function(e){return"node "+e.slice(1)}));return resolve(r,e)}},{regexp:/^phantomjs\s+1.9$/i,select:function(){return["safari 5"]}},{regexp:/^phantomjs\s+2.1$/i,select:function(){return["safari 6"]}},{regexp:/^(\w+)\s+(tp|[\d.]+)$/i,select:function(e,s,r){if(/^tp$/i.test(r))r="TP";var n=checkName(s,e);var t=normalizeVersion(n,r);if(t){r=t}else{if(r.indexOf(".")===-1){t=r+".0"}else{t=r.replace(/\.0$/,"")}t=normalizeVersion(n,t);if(t){r=t}else if(e.ignoreUnknownVersions){return[]}else{throw new l("Unknown version "+r+" of "+s)}}return[n.name+" "+r]}},{regexp:/^browserslist config$/i,select:function(e){return browserslist(undefined,e)}},{regexp:/^extends (.+)$/i,select:function(e,s){return resolve(f.loadQueries(e,s),e)}},{regexp:/^defaults$/i,select:function(e){return resolve(browserslist.defaults,e)}},{regexp:/^dead$/i,select:function(e){var s=["ie <= 10","ie_mob <= 11","bb <= 10","op_mob <= 12.1","samsung 4"];return resolve(s,e)}},{regexp:/^(\w+)$/i,select:function(e,s){if(byName(s,e)){throw new l("Specify versions in Browserslist query for browser "+s)}else{throw unknownQuery(s)}}}];(function(){for(var e in t){var s=t[e];browserslist.data[e]={name:e,versions:normalize(t[e].versions),released:normalize(t[e].versions.slice(0,-3)),releaseDate:t[e].release_date};fillUsage(browserslist.usage.global,e,s.usage_global);browserslist.versionAliases[e]={};for(var r=0;r{var n=r(379)["default"];var t=r(225)["default"];var a=r(17);var i=r(147);var o=r(446);var l=/^\s*\[(.+)]\s*$/;var f=/^browserslist-config-/;var u=/@[^/]+\/browserslist-config(-|$|\/)/;var d=6*30*24*60*60*1e3;var c="Browserslist config should be a string or an array "+"of strings with browser queries";var v=false;var m={};var p={};function checkExtend(e){var s=" Use `dangerousExtend` option to disable.";if(!f.test(e)&&!u.test(e)){throw new o("Browserslist config needs `browserslist-config-` prefix. "+s)}if(e.replace(/^@[^/]+\//,"").indexOf(".")!==-1){throw new o("`.` not allowed in Browserslist config name. "+s)}if(e.indexOf("node_modules")!==-1){throw new o("`node_modules` not allowed in Browserslist config."+s)}}function isFile(e){if(e in m){return m[e]}var s=i.existsSync(e)&&i.statSync(e).isFile();if(!process.env.BROWSERSLIST_DISABLE_CACHE){m[e]=s}return s}function eachParent(e,s){var r=isFile(e)?a.dirname(e):e;var n=a.resolve(r);do{var t=s(n);if(typeof t!=="undefined")return t}while(n!==(n=a.dirname(n)));return undefined}function check(e){if(Array.isArray(e)){for(var s=0;s{e.exports={"0.20":"39",.21:"41",.22:"41",.23:"41",.24:"41",.25:"42",.26:"42",.27:"43",.28:"43",.29:"43","0.30":"44",.31:"45",.32:"45",.33:"45",.34:"45",.35:"45",.36:"47",.37:"49","1.0":"49",1.1:"50",1.2:"51",1.3:"52",1.4:"53",1.5:"54",1.6:"56",1.7:"58",1.8:"59","2.0":"61",2.1:"61","3.0":"66",3.1:"66","4.0":"69",4.1:"69",4.2:"69","5.0":"73","6.0":"76",6.1:"76","7.0":"78",7.1:"78",7.2:"78",7.3:"78","8.0":"80",8.1:"80",8.2:"80",8.3:"80",8.4:"80",8.5:"80","9.0":"83",9.1:"83",9.2:"83",9.3:"83",9.4:"83","10.0":"85",10.1:"85",10.2:"85",10.3:"85",10.4:"85","11.0":"87",11.1:"87",11.2:"87",11.3:"87",11.4:"87",11.5:"87","12.0":"89",12.1:"89",12.2:"89","13.0":"91",13.1:"91",13.2:"91",13.3:"91",13.4:"91",13.5:"91",13.6:"91","14.0":"93",14.1:"93",14.2:"93","15.0":"94",15.1:"94",15.2:"94",15.3:"94","16.0":"96","17.0":"98"}},775:e=>{function webpackEmptyContext(e){var s=new Error("Cannot find module '"+e+"'");s.code="MODULE_NOT_FOUND";throw s}webpackEmptyContext.keys=()=>[];webpackEmptyContext.resolve=webpackEmptyContext;webpackEmptyContext.id=775;e.exports=webpackEmptyContext},768:e=>{"use strict";e.exports=require("caniuse-lite/dist/unpacker/agents")},379:e=>{"use strict";e.exports=require("caniuse-lite/dist/unpacker/feature")},225:e=>{"use strict";e.exports=require("caniuse-lite/dist/unpacker/region")},147:e=>{"use strict";e.exports=require("fs")},17:e=>{"use strict";e.exports=require("path")},945:e=>{"use strict";e.exports=JSON.parse('[{"name":"nodejs","version":"0.2.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.3.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.4.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.5.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.6.0","date":"2011-11-04","lts":false,"security":false},{"name":"nodejs","version":"0.7.0","date":"2012-01-17","lts":false,"security":false},{"name":"nodejs","version":"0.8.0","date":"2012-06-22","lts":false,"security":false},{"name":"nodejs","version":"0.9.0","date":"2012-07-20","lts":false,"security":false},{"name":"nodejs","version":"0.10.0","date":"2013-03-11","lts":false,"security":false},{"name":"nodejs","version":"0.11.0","date":"2013-03-28","lts":false,"security":false},{"name":"nodejs","version":"0.12.0","date":"2015-02-06","lts":false,"security":false},{"name":"nodejs","version":"4.0.0","date":"2015-09-08","lts":false,"security":false},{"name":"nodejs","version":"4.1.0","date":"2015-09-17","lts":false,"security":false},{"name":"nodejs","version":"4.2.0","date":"2015-10-12","lts":"Argon","security":false},{"name":"nodejs","version":"4.3.0","date":"2016-02-09","lts":"Argon","security":false},{"name":"nodejs","version":"4.4.0","date":"2016-03-08","lts":"Argon","security":false},{"name":"nodejs","version":"4.5.0","date":"2016-08-16","lts":"Argon","security":false},{"name":"nodejs","version":"4.6.0","date":"2016-09-27","lts":"Argon","security":true},{"name":"nodejs","version":"4.7.0","date":"2016-12-06","lts":"Argon","security":false},{"name":"nodejs","version":"4.8.0","date":"2017-02-21","lts":"Argon","security":false},{"name":"nodejs","version":"4.9.0","date":"2018-03-28","lts":"Argon","security":true},{"name":"nodejs","version":"5.0.0","date":"2015-10-29","lts":false,"security":false},{"name":"nodejs","version":"5.1.0","date":"2015-11-17","lts":false,"security":false},{"name":"nodejs","version":"5.2.0","date":"2015-12-09","lts":false,"security":false},{"name":"nodejs","version":"5.3.0","date":"2015-12-15","lts":false,"security":false},{"name":"nodejs","version":"5.4.0","date":"2016-01-06","lts":false,"security":false},{"name":"nodejs","version":"5.5.0","date":"2016-01-21","lts":false,"security":false},{"name":"nodejs","version":"5.6.0","date":"2016-02-09","lts":false,"security":false},{"name":"nodejs","version":"5.7.0","date":"2016-02-23","lts":false,"security":false},{"name":"nodejs","version":"5.8.0","date":"2016-03-09","lts":false,"security":false},{"name":"nodejs","version":"5.9.0","date":"2016-03-16","lts":false,"security":false},{"name":"nodejs","version":"5.10.0","date":"2016-04-01","lts":false,"security":false},{"name":"nodejs","version":"5.11.0","date":"2016-04-21","lts":false,"security":false},{"name":"nodejs","version":"5.12.0","date":"2016-06-23","lts":false,"security":false},{"name":"nodejs","version":"6.0.0","date":"2016-04-26","lts":false,"security":false},{"name":"nodejs","version":"6.1.0","date":"2016-05-05","lts":false,"security":false},{"name":"nodejs","version":"6.2.0","date":"2016-05-17","lts":false,"security":false},{"name":"nodejs","version":"6.3.0","date":"2016-07-06","lts":false,"security":false},{"name":"nodejs","version":"6.4.0","date":"2016-08-12","lts":false,"security":false},{"name":"nodejs","version":"6.5.0","date":"2016-08-26","lts":false,"security":false},{"name":"nodejs","version":"6.6.0","date":"2016-09-14","lts":false,"security":false},{"name":"nodejs","version":"6.7.0","date":"2016-09-27","lts":false,"security":true},{"name":"nodejs","version":"6.8.0","date":"2016-10-12","lts":false,"security":false},{"name":"nodejs","version":"6.9.0","date":"2016-10-18","lts":"Boron","security":false},{"name":"nodejs","version":"6.10.0","date":"2017-02-21","lts":"Boron","security":false},{"name":"nodejs","version":"6.11.0","date":"2017-06-06","lts":"Boron","security":false},{"name":"nodejs","version":"6.12.0","date":"2017-11-06","lts":"Boron","security":false},{"name":"nodejs","version":"6.13.0","date":"2018-02-10","lts":"Boron","security":false},{"name":"nodejs","version":"6.14.0","date":"2018-03-28","lts":"Boron","security":true},{"name":"nodejs","version":"6.15.0","date":"2018-11-27","lts":"Boron","security":true},{"name":"nodejs","version":"6.16.0","date":"2018-12-26","lts":"Boron","security":false},{"name":"nodejs","version":"6.17.0","date":"2019-02-28","lts":"Boron","security":true},{"name":"nodejs","version":"7.0.0","date":"2016-10-25","lts":false,"security":false},{"name":"nodejs","version":"7.1.0","date":"2016-11-08","lts":false,"security":false},{"name":"nodejs","version":"7.2.0","date":"2016-11-22","lts":false,"security":false},{"name":"nodejs","version":"7.3.0","date":"2016-12-20","lts":false,"security":false},{"name":"nodejs","version":"7.4.0","date":"2017-01-04","lts":false,"security":false},{"name":"nodejs","version":"7.5.0","date":"2017-01-31","lts":false,"security":false},{"name":"nodejs","version":"7.6.0","date":"2017-02-21","lts":false,"security":false},{"name":"nodejs","version":"7.7.0","date":"2017-02-28","lts":false,"security":false},{"name":"nodejs","version":"7.8.0","date":"2017-03-29","lts":false,"security":false},{"name":"nodejs","version":"7.9.0","date":"2017-04-11","lts":false,"security":false},{"name":"nodejs","version":"7.10.0","date":"2017-05-02","lts":false,"security":false},{"name":"nodejs","version":"8.0.0","date":"2017-05-30","lts":false,"security":false},{"name":"nodejs","version":"8.1.0","date":"2017-06-08","lts":false,"security":false},{"name":"nodejs","version":"8.2.0","date":"2017-07-19","lts":false,"security":false},{"name":"nodejs","version":"8.3.0","date":"2017-08-08","lts":false,"security":false},{"name":"nodejs","version":"8.4.0","date":"2017-08-15","lts":false,"security":false},{"name":"nodejs","version":"8.5.0","date":"2017-09-12","lts":false,"security":false},{"name":"nodejs","version":"8.6.0","date":"2017-09-26","lts":false,"security":false},{"name":"nodejs","version":"8.7.0","date":"2017-10-11","lts":false,"security":false},{"name":"nodejs","version":"8.8.0","date":"2017-10-24","lts":false,"security":false},{"name":"nodejs","version":"8.9.0","date":"2017-10-31","lts":"Carbon","security":false},{"name":"nodejs","version":"8.10.0","date":"2018-03-06","lts":"Carbon","security":false},{"name":"nodejs","version":"8.11.0","date":"2018-03-28","lts":"Carbon","security":true},{"name":"nodejs","version":"8.12.0","date":"2018-09-10","lts":"Carbon","security":false},{"name":"nodejs","version":"8.13.0","date":"2018-11-20","lts":"Carbon","security":false},{"name":"nodejs","version":"8.14.0","date":"2018-11-27","lts":"Carbon","security":true},{"name":"nodejs","version":"8.15.0","date":"2018-12-26","lts":"Carbon","security":false},{"name":"nodejs","version":"8.16.0","date":"2019-04-16","lts":"Carbon","security":false},{"name":"nodejs","version":"8.17.0","date":"2019-12-17","lts":"Carbon","security":true},{"name":"nodejs","version":"9.0.0","date":"2017-10-31","lts":false,"security":false},{"name":"nodejs","version":"9.1.0","date":"2017-11-07","lts":false,"security":false},{"name":"nodejs","version":"9.2.0","date":"2017-11-14","lts":false,"security":false},{"name":"nodejs","version":"9.3.0","date":"2017-12-12","lts":false,"security":false},{"name":"nodejs","version":"9.4.0","date":"2018-01-10","lts":false,"security":false},{"name":"nodejs","version":"9.5.0","date":"2018-01-31","lts":false,"security":false},{"name":"nodejs","version":"9.6.0","date":"2018-02-21","lts":false,"security":false},{"name":"nodejs","version":"9.7.0","date":"2018-03-01","lts":false,"security":false},{"name":"nodejs","version":"9.8.0","date":"2018-03-07","lts":false,"security":false},{"name":"nodejs","version":"9.9.0","date":"2018-03-21","lts":false,"security":false},{"name":"nodejs","version":"9.10.0","date":"2018-03-28","lts":false,"security":true},{"name":"nodejs","version":"9.11.0","date":"2018-04-04","lts":false,"security":false},{"name":"nodejs","version":"10.0.0","date":"2018-04-24","lts":false,"security":false},{"name":"nodejs","version":"10.1.0","date":"2018-05-08","lts":false,"security":false},{"name":"nodejs","version":"10.2.0","date":"2018-05-23","lts":false,"security":false},{"name":"nodejs","version":"10.3.0","date":"2018-05-29","lts":false,"security":false},{"name":"nodejs","version":"10.4.0","date":"2018-06-06","lts":false,"security":false},{"name":"nodejs","version":"10.5.0","date":"2018-06-20","lts":false,"security":false},{"name":"nodejs","version":"10.6.0","date":"2018-07-04","lts":false,"security":false},{"name":"nodejs","version":"10.7.0","date":"2018-07-18","lts":false,"security":false},{"name":"nodejs","version":"10.8.0","date":"2018-08-01","lts":false,"security":false},{"name":"nodejs","version":"10.9.0","date":"2018-08-15","lts":false,"security":false},{"name":"nodejs","version":"10.10.0","date":"2018-09-06","lts":false,"security":false},{"name":"nodejs","version":"10.11.0","date":"2018-09-19","lts":false,"security":false},{"name":"nodejs","version":"10.12.0","date":"2018-10-10","lts":false,"security":false},{"name":"nodejs","version":"10.13.0","date":"2018-10-30","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.14.0","date":"2018-11-27","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.15.0","date":"2018-12-26","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.16.0","date":"2019-05-28","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.17.0","date":"2019-10-22","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.18.0","date":"2019-12-17","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.19.0","date":"2020-02-05","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.20.0","date":"2020-03-26","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.21.0","date":"2020-06-02","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.22.0","date":"2020-07-21","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.23.0","date":"2020-10-27","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.24.0","date":"2021-02-23","lts":"Dubnium","security":true},{"name":"nodejs","version":"11.0.0","date":"2018-10-23","lts":false,"security":false},{"name":"nodejs","version":"11.1.0","date":"2018-10-30","lts":false,"security":false},{"name":"nodejs","version":"11.2.0","date":"2018-11-15","lts":false,"security":false},{"name":"nodejs","version":"11.3.0","date":"2018-11-27","lts":false,"security":true},{"name":"nodejs","version":"11.4.0","date":"2018-12-07","lts":false,"security":false},{"name":"nodejs","version":"11.5.0","date":"2018-12-18","lts":false,"security":false},{"name":"nodejs","version":"11.6.0","date":"2018-12-26","lts":false,"security":false},{"name":"nodejs","version":"11.7.0","date":"2019-01-17","lts":false,"security":false},{"name":"nodejs","version":"11.8.0","date":"2019-01-24","lts":false,"security":false},{"name":"nodejs","version":"11.9.0","date":"2019-01-30","lts":false,"security":false},{"name":"nodejs","version":"11.10.0","date":"2019-02-14","lts":false,"security":false},{"name":"nodejs","version":"11.11.0","date":"2019-03-05","lts":false,"security":false},{"name":"nodejs","version":"11.12.0","date":"2019-03-14","lts":false,"security":false},{"name":"nodejs","version":"11.13.0","date":"2019-03-28","lts":false,"security":false},{"name":"nodejs","version":"11.14.0","date":"2019-04-10","lts":false,"security":false},{"name":"nodejs","version":"11.15.0","date":"2019-04-30","lts":false,"security":false},{"name":"nodejs","version":"12.0.0","date":"2019-04-23","lts":false,"security":false},{"name":"nodejs","version":"12.1.0","date":"2019-04-29","lts":false,"security":false},{"name":"nodejs","version":"12.2.0","date":"2019-05-07","lts":false,"security":false},{"name":"nodejs","version":"12.3.0","date":"2019-05-21","lts":false,"security":false},{"name":"nodejs","version":"12.4.0","date":"2019-06-04","lts":false,"security":false},{"name":"nodejs","version":"12.5.0","date":"2019-06-26","lts":false,"security":false},{"name":"nodejs","version":"12.6.0","date":"2019-07-03","lts":false,"security":false},{"name":"nodejs","version":"12.7.0","date":"2019-07-23","lts":false,"security":false},{"name":"nodejs","version":"12.8.0","date":"2019-08-06","lts":false,"security":false},{"name":"nodejs","version":"12.9.0","date":"2019-08-20","lts":false,"security":false},{"name":"nodejs","version":"12.10.0","date":"2019-09-04","lts":false,"security":false},{"name":"nodejs","version":"12.11.0","date":"2019-09-25","lts":false,"security":false},{"name":"nodejs","version":"12.12.0","date":"2019-10-11","lts":false,"security":false},{"name":"nodejs","version":"12.13.0","date":"2019-10-21","lts":"Erbium","security":false},{"name":"nodejs","version":"12.14.0","date":"2019-12-17","lts":"Erbium","security":true},{"name":"nodejs","version":"12.15.0","date":"2020-02-05","lts":"Erbium","security":true},{"name":"nodejs","version":"12.16.0","date":"2020-02-11","lts":"Erbium","security":false},{"name":"nodejs","version":"12.17.0","date":"2020-05-26","lts":"Erbium","security":false},{"name":"nodejs","version":"12.18.0","date":"2020-06-02","lts":"Erbium","security":true},{"name":"nodejs","version":"12.19.0","date":"2020-10-06","lts":"Erbium","security":false},{"name":"nodejs","version":"12.20.0","date":"2020-11-24","lts":"Erbium","security":false},{"name":"nodejs","version":"12.21.0","date":"2021-02-23","lts":"Erbium","security":true},{"name":"nodejs","version":"12.22.0","date":"2021-03-30","lts":"Erbium","security":false},{"name":"nodejs","version":"13.0.0","date":"2019-10-22","lts":false,"security":false},{"name":"nodejs","version":"13.1.0","date":"2019-11-05","lts":false,"security":false},{"name":"nodejs","version":"13.2.0","date":"2019-11-21","lts":false,"security":false},{"name":"nodejs","version":"13.3.0","date":"2019-12-03","lts":false,"security":false},{"name":"nodejs","version":"13.4.0","date":"2019-12-17","lts":false,"security":true},{"name":"nodejs","version":"13.5.0","date":"2019-12-18","lts":false,"security":false},{"name":"nodejs","version":"13.6.0","date":"2020-01-07","lts":false,"security":false},{"name":"nodejs","version":"13.7.0","date":"2020-01-21","lts":false,"security":false},{"name":"nodejs","version":"13.8.0","date":"2020-02-05","lts":false,"security":true},{"name":"nodejs","version":"13.9.0","date":"2020-02-18","lts":false,"security":false},{"name":"nodejs","version":"13.10.0","date":"2020-03-04","lts":false,"security":false},{"name":"nodejs","version":"13.11.0","date":"2020-03-12","lts":false,"security":false},{"name":"nodejs","version":"13.12.0","date":"2020-03-26","lts":false,"security":false},{"name":"nodejs","version":"13.13.0","date":"2020-04-14","lts":false,"security":false},{"name":"nodejs","version":"13.14.0","date":"2020-04-29","lts":false,"security":false},{"name":"nodejs","version":"14.0.0","date":"2020-04-21","lts":false,"security":false},{"name":"nodejs","version":"14.1.0","date":"2020-04-29","lts":false,"security":false},{"name":"nodejs","version":"14.2.0","date":"2020-05-05","lts":false,"security":false},{"name":"nodejs","version":"14.3.0","date":"2020-05-19","lts":false,"security":false},{"name":"nodejs","version":"14.4.0","date":"2020-06-02","lts":false,"security":true},{"name":"nodejs","version":"14.5.0","date":"2020-06-30","lts":false,"security":false},{"name":"nodejs","version":"14.6.0","date":"2020-07-20","lts":false,"security":false},{"name":"nodejs","version":"14.7.0","date":"2020-07-29","lts":false,"security":false},{"name":"nodejs","version":"14.8.0","date":"2020-08-11","lts":false,"security":false},{"name":"nodejs","version":"14.9.0","date":"2020-08-27","lts":false,"security":false},{"name":"nodejs","version":"14.10.0","date":"2020-09-08","lts":false,"security":false},{"name":"nodejs","version":"14.11.0","date":"2020-09-15","lts":false,"security":true},{"name":"nodejs","version":"14.12.0","date":"2020-09-22","lts":false,"security":false},{"name":"nodejs","version":"14.13.0","date":"2020-09-29","lts":false,"security":false},{"name":"nodejs","version":"14.14.0","date":"2020-10-15","lts":false,"security":false},{"name":"nodejs","version":"14.15.0","date":"2020-10-27","lts":"Fermium","security":false},{"name":"nodejs","version":"14.16.0","date":"2021-02-23","lts":"Fermium","security":true},{"name":"nodejs","version":"14.17.0","date":"2021-05-11","lts":"Fermium","security":false},{"name":"nodejs","version":"14.18.0","date":"2021-09-28","lts":"Fermium","security":false},{"name":"nodejs","version":"15.0.0","date":"2020-10-20","lts":false,"security":false},{"name":"nodejs","version":"15.1.0","date":"2020-11-04","lts":false,"security":false},{"name":"nodejs","version":"15.2.0","date":"2020-11-10","lts":false,"security":false},{"name":"nodejs","version":"15.3.0","date":"2020-11-24","lts":false,"security":false},{"name":"nodejs","version":"15.4.0","date":"2020-12-09","lts":false,"security":false},{"name":"nodejs","version":"15.5.0","date":"2020-12-22","lts":false,"security":false},{"name":"nodejs","version":"15.6.0","date":"2021-01-14","lts":false,"security":false},{"name":"nodejs","version":"15.7.0","date":"2021-01-25","lts":false,"security":false},{"name":"nodejs","version":"15.8.0","date":"2021-02-02","lts":false,"security":false},{"name":"nodejs","version":"15.9.0","date":"2021-02-18","lts":false,"security":false},{"name":"nodejs","version":"15.10.0","date":"2021-02-23","lts":false,"security":true},{"name":"nodejs","version":"15.11.0","date":"2021-03-03","lts":false,"security":false},{"name":"nodejs","version":"15.12.0","date":"2021-03-17","lts":false,"security":false},{"name":"nodejs","version":"15.13.0","date":"2021-03-31","lts":false,"security":false},{"name":"nodejs","version":"15.14.0","date":"2021-04-06","lts":false,"security":false},{"name":"nodejs","version":"16.0.0","date":"2021-04-20","lts":false,"security":false},{"name":"nodejs","version":"16.1.0","date":"2021-05-04","lts":false,"security":false},{"name":"nodejs","version":"16.2.0","date":"2021-05-19","lts":false,"security":false},{"name":"nodejs","version":"16.3.0","date":"2021-06-03","lts":false,"security":false},{"name":"nodejs","version":"16.4.0","date":"2021-06-23","lts":false,"security":false},{"name":"nodejs","version":"16.5.0","date":"2021-07-14","lts":false,"security":false},{"name":"nodejs","version":"16.6.0","date":"2021-07-29","lts":false,"security":true},{"name":"nodejs","version":"16.7.0","date":"2021-08-18","lts":false,"security":false},{"name":"nodejs","version":"16.8.0","date":"2021-08-25","lts":false,"security":false},{"name":"nodejs","version":"16.9.0","date":"2021-09-07","lts":false,"security":false},{"name":"nodejs","version":"16.10.0","date":"2021-09-22","lts":false,"security":false},{"name":"nodejs","version":"16.11.0","date":"2021-10-08","lts":false,"security":false},{"name":"nodejs","version":"16.12.0","date":"2021-10-20","lts":false,"security":false},{"name":"nodejs","version":"17.0.0","date":"2021-10-19","lts":false,"security":false}]')},742:e=>{"use strict";e.exports=JSON.parse('{"v0.8":{"start":"2012-06-25","end":"2014-07-31"},"v0.10":{"start":"2013-03-11","end":"2016-10-31"},"v0.12":{"start":"2015-02-06","end":"2016-12-31"},"v4":{"start":"2015-09-08","lts":"2015-10-12","maintenance":"2017-04-01","end":"2018-04-30","codename":"Argon"},"v5":{"start":"2015-10-29","maintenance":"2016-04-30","end":"2016-06-30"},"v6":{"start":"2016-04-26","lts":"2016-10-18","maintenance":"2018-04-30","end":"2019-04-30","codename":"Boron"},"v7":{"start":"2016-10-25","maintenance":"2017-04-30","end":"2017-06-30"},"v8":{"start":"2017-05-30","lts":"2017-10-31","maintenance":"2019-01-01","end":"2019-12-31","codename":"Carbon"},"v9":{"start":"2017-10-01","maintenance":"2018-04-01","end":"2018-06-30"},"v10":{"start":"2018-04-24","lts":"2018-10-30","maintenance":"2020-05-19","end":"2021-04-30","codename":"Dubnium"},"v11":{"start":"2018-10-23","maintenance":"2019-04-22","end":"2019-06-01"},"v12":{"start":"2019-04-23","lts":"2019-10-21","maintenance":"2020-11-30","end":"2022-04-30","codename":"Erbium"},"v13":{"start":"2019-10-22","maintenance":"2020-04-01","end":"2020-06-01"},"v14":{"start":"2020-04-21","lts":"2020-10-27","maintenance":"2021-10-19","end":"2023-04-30","codename":"Fermium"},"v15":{"start":"2020-10-20","maintenance":"2021-04-01","end":"2021-06-01"},"v16":{"start":"2021-04-20","lts":"2021-10-26","maintenance":"2022-10-18","end":"2024-04-30","codename":""},"v17":{"start":"2021-10-19","maintenance":"2022-04-01","end":"2022-06-01"},"v18":{"start":"2022-04-19","lts":"2022-10-25","maintenance":"2023-10-18","end":"2025-04-30","codename":""}}')}};var s={};function __nccwpck_require__(r){var n=s[r];if(n!==undefined){return n.exports}var t=s[r]={exports:{}};var a=true;try{e[r](t,t.exports,__nccwpck_require__);a=false}finally{if(a)delete s[r]}return t.exports}(()=>{__nccwpck_require__.o=(e,s)=>Object.prototype.hasOwnProperty.call(e,s)})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var r=__nccwpck_require__(567);module.exports=r})(); \ No newline at end of file +(()=>{var __webpack_modules__={446:e=>{function BrowserslistError(e){this.name="BrowserslistError";this.message=e;this.browserslist=true;if(Error.captureStackTrace){Error.captureStackTrace(this,BrowserslistError)}}BrowserslistError.prototype=Error.prototype;e.exports=BrowserslistError},567:(e,s,r)=>{var n=r(945);var t=r(768).agents;var a=r(742);var i=r(17);var o=r(477);var l=r(446);var f=r(711);var u=365.259641*24*60*60*1e3;var d=37;var c=1;var v=2;function isVersionsMatch(e,s){return(e+".").indexOf(s+".")===0}function isEolReleased(e){var s=e.slice(1);return n.some((function(e){return isVersionsMatch(e.version,s)}))}function normalize(e){return e.filter((function(e){return typeof e==="string"}))}function normalizeElectron(e){var s=e;if(e.split(".").length===3){s=e.split(".").slice(0,-1).join(".")}return s}function nameMapper(e){return function mapName(s){return e+" "+s}}function getMajor(e){return parseInt(e.split(".")[0])}function getMajorVersions(e,s){if(e.length===0)return[];var r=uniq(e.map(getMajor));var n=r[r.length-s];if(!n){return e}var t=[];for(var a=e.length-1;a>=0;a--){if(n>getMajor(e[a]))break;t.unshift(e[a])}return t}function uniq(e){var s=[];for(var r=0;r"){return function(e){return parseFloat(e)>s}}else if(e===">="){return function(e){return parseFloat(e)>=s}}else if(e==="<"){return function(e){return parseFloat(e)"){return function(e){e=e.split(".").map(parseSimpleInt);return compareSemver(e,s)>0}}else if(e===">="){return function(e){e=e.split(".").map(parseSimpleInt);return compareSemver(e,s)>=0}}else if(e==="<"){return function(e){e=e.split(".").map(parseSimpleInt);return compareSemver(s,e)>0}}else{return function(e){e=e.split(".").map(parseSimpleInt);return compareSemver(s,e)>=0}}}function parseSimpleInt(e){return parseInt(e)}function compare(e,s){if(es)return+1;return 0}function compareSemver(e,s){return compare(parseInt(e[0]),parseInt(s[0]))||compare(parseInt(e[1]||"0"),parseInt(s[1]||"0"))||compare(parseInt(e[2]||"0"),parseInt(s[2]||"0"))}function semverFilterLoose(e,s){s=s.split(".").map(parseSimpleInt);if(typeof s[1]==="undefined"){s[1]="x"}switch(e){case"<=":return function(e){e=e.split(".").map(parseSimpleInt);return compareSemverLoose(e,s)<=0};case">=":default:return function(e){e=e.split(".").map(parseSimpleInt);return compareSemverLoose(e,s)>=0}}}function compareSemverLoose(e,s){if(e[0]!==s[0]){return e[0]=e}));return r.concat(a.map(nameMapper(t.name)))}),[])}function cloneData(e){return{name:e.name,versions:e.versions,released:e.released,releaseDate:e.releaseDate}}function mapVersions(e,s){e.versions=e.versions.map((function(e){return s[e]||e}));e.released=e.versions.map((function(e){return s[e]||e}));var r={};for(var n in e.releaseDate){r[s[n]||n]=e.releaseDate[n]}e.releaseDate=r;return e}function byName(e,s){e=e.toLowerCase();e=browserslist.aliases[e]||e;if(s.mobileToDesktop&&browserslist.desktopNames[e]){var r=browserslist.data[browserslist.desktopNames[e]];if(e==="android"){return normalizeAndroidData(cloneData(browserslist.data[e]),r)}else{var n=cloneData(r);n.name=e;if(e==="op_mob"){n=mapVersions(n,{"10.0-10.1":"10"})}return n}}return browserslist.data[e]}function normalizeAndroidVersions(e,s){var r=d;var n=s[s.length-1];return e.filter((function(e){return/^(?:[2-4]\.|[34]$)/.test(e)})).concat(s.slice(r-n-1))}function normalizeAndroidData(e,s){e.released=normalizeAndroidVersions(e.released,s.released);e.versions=normalizeAndroidVersions(e.versions,s.versions);return e}function checkName(e,s){var r=byName(e,s);if(!r)throw new l("Unknown browser "+e);return r}function unknownQuery(e){return new l("Unknown browser query `"+e+"`. "+"Maybe you are using old Browserslist or made typo in query.")}function filterAndroid(e,s,r){if(r.mobileToDesktop)return e;var n=browserslist.data.android.released;var t=n[n.length-1];var a=t-d-s;if(a>0){return e.slice(-1)}else{return e.slice(a-1)}}function resolve(e,s){if(Array.isArray(e)){e=flatten(e.map(parse))}else{e=parse(e)}return e.reduce((function(e,r,n){var t=r.queryString;var a=t.indexOf("not ")===0;if(a){if(n===0){throw new l("Write any browsers query (for instance, `defaults`) "+"before `"+t+"`")}t=t.slice(4)}for(var i=0;i 0.5%","last 2 versions","Firefox ESR","not dead"];browserslist.aliases={fx:"firefox",ff:"firefox",ios:"ios_saf",explorer:"ie",blackberry:"bb",explorermobile:"ie_mob",operamini:"op_mini",operamobile:"op_mob",chromeandroid:"and_chr",firefoxandroid:"and_ff",ucandroid:"and_uc",qqandroid:"and_qq"};browserslist.desktopNames={and_chr:"chrome",and_ff:"firefox",ie_mob:"ie",op_mob:"opera",android:"chrome"};browserslist.versionAliases={};browserslist.clearCaches=f.clearCaches;browserslist.parseConfig=f.parseConfig;browserslist.readConfig=f.readConfig;browserslist.findConfig=f.findConfig;browserslist.loadConfig=f.loadConfig;browserslist.coverage=function(e,s){var r;if(typeof s==="undefined"){r=browserslist.usage.global}else if(s==="my stats"){var n={};n.path=i.resolve?i.resolve("."):".";var t=f.getStat(n);if(!t){throw new l("Custom usage statistics was not provided")}r={};for(var a in t){fillUsage(r,a,t[a])}}else if(typeof s==="string"){if(s.length>2){s=s.toLowerCase()}else{s=s.toUpperCase()}f.loadCountry(browserslist.usage,s,browserslist.data);r=browserslist.usage[s]}else{if("dataByBrowser"in s){s=s.dataByBrowser}r={};for(var o in s){for(var u in s[o]){r[o+" "+u]=s[o][u]}}}return e.reduce((function(e,s){var n=r[s];if(n===undefined){n=r[s.replace(/ \S+$/," 0")]}return e+(n||0)}),0)};function nodeQuery(e,s){var r=n.filter((function(e){return e.name==="nodejs"}));var t=r.filter((function(e){return isVersionsMatch(e.version,s)}));if(t.length===0){if(e.ignoreUnknownVersions){return[]}else{throw new l("Unknown version "+s+" of Node.js")}}return["node "+t[t.length-1].version]}function sinceQuery(e,s,r,n){s=parseInt(s);r=parseInt(r||"01")-1;n=parseInt(n||"01");return filterByYear(Date.UTC(s,r,n,0,0,0),e)}function coverQuery(e,s,r){s=parseFloat(s);var n=browserslist.usage.global;if(r){if(r.match(/^my\s+stats$/i)){if(!e.customUsage){throw new l("Custom usage statistics was not provided")}n=e.customUsage}else{var t;if(r.length===2){t=r.toUpperCase()}else{t=r.toLowerCase()}f.loadCountry(browserslist.usage,t,browserslist.data);n=browserslist.usage[t]}}var a=Object.keys(n).sort((function(e,s){return n[s]-n[e]}));var i=0;var o=[];var u;for(var d=0;d<=a.length;d++){u=a[d];if(n[u]===0)break;i+=n[u];o.push(u);if(i>=s)break}return o}var p=[{regexp:/^last\s+(\d+)\s+major\s+versions?$/i,select:function(e,s){return Object.keys(t).reduce((function(r,n){var t=byName(n,e);if(!t)return r;var a=getMajorVersions(t.released,s);a=a.map(nameMapper(t.name));if(t.name==="android"){a=filterAndroid(a,s,e)}return r.concat(a)}),[])}},{regexp:/^last\s+(\d+)\s+versions?$/i,select:function(e,s){return Object.keys(t).reduce((function(r,n){var t=byName(n,e);if(!t)return r;var a=t.released.slice(-s);a=a.map(nameMapper(t.name));if(t.name==="android"){a=filterAndroid(a,s,e)}return r.concat(a)}),[])}},{regexp:/^last\s+(\d+)\s+electron\s+major\s+versions?$/i,select:function(e,s){var r=getMajorVersions(Object.keys(o),s);return r.map((function(e){return"chrome "+o[e]}))}},{regexp:/^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,select:function(e,s,r){var n=checkName(r,e);var t=getMajorVersions(n.released,s);var a=t.map(nameMapper(n.name));if(n.name==="android"){a=filterAndroid(a,s,e)}return a}},{regexp:/^last\s+(\d+)\s+electron\s+versions?$/i,select:function(e,s){return Object.keys(o).slice(-s).map((function(e){return"chrome "+o[e]}))}},{regexp:/^last\s+(\d+)\s+(\w+)\s+versions?$/i,select:function(e,s,r){var n=checkName(r,e);var t=n.released.slice(-s).map(nameMapper(n.name));if(n.name==="android"){t=filterAndroid(t,s,e)}return t}},{regexp:/^unreleased\s+versions$/i,select:function(e){return Object.keys(t).reduce((function(s,r){var n=byName(r,e);if(!n)return s;var t=n.versions.filter((function(e){return n.released.indexOf(e)===-1}));t=t.map(nameMapper(n.name));return s.concat(t)}),[])}},{regexp:/^unreleased\s+electron\s+versions?$/i,select:function(){return[]}},{regexp:/^unreleased\s+(\w+)\s+versions?$/i,select:function(e,s){var r=checkName(s,e);return r.versions.filter((function(e){return r.released.indexOf(e)===-1})).map(nameMapper(r.name))}},{regexp:/^last\s+(\d*.?\d+)\s+years?$/i,select:function(e,s){return filterByYear(Date.now()-u*s,e)}},{regexp:/^since (\d+)$/i,select:sinceQuery},{regexp:/^since (\d+)-(\d+)$/i,select:sinceQuery},{regexp:/^since (\d+)-(\d+)-(\d+)$/i,select:sinceQuery},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/,select:function(e,s,r){r=parseFloat(r);var n=browserslist.usage.global;return Object.keys(n).reduce((function(e,t){if(s===">"){if(n[t]>r){e.push(t)}}else if(s==="<"){if(n[t]=r){e.push(t)}return e}),[])}},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/,select:function(e,s,r){r=parseFloat(r);if(!e.customUsage){throw new l("Custom usage statistics was not provided")}var n=e.customUsage;return Object.keys(n).reduce((function(e,t){if(s===">"){if(n[t]>r){e.push(t)}}else if(s==="<"){if(n[t]=r){e.push(t)}return e}),[])}},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/,select:function(e,s,r,n){r=parseFloat(r);var t=f.loadStat(e,n,browserslist.data);if(t){e.customUsage={};for(var a in t){fillUsage(e.customUsage,a,t[a])}}if(!e.customUsage){throw new l("Custom usage statistics was not provided")}var i=e.customUsage;return Object.keys(i).reduce((function(e,n){if(s===">"){if(i[n]>r){e.push(n)}}else if(s==="<"){if(i[n]=r){e.push(n)}return e}),[])}},{regexp:/^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/,select:function(e,s,r,n){r=parseFloat(r);if(n.length===2){n=n.toUpperCase()}else{n=n.toLowerCase()}f.loadCountry(browserslist.usage,n,browserslist.data);var t=browserslist.usage[n];return Object.keys(t).reduce((function(e,n){if(s===">"){if(t[n]>r){e.push(n)}}else if(s==="<"){if(t[n]=r){e.push(n)}return e}),[])}},{regexp:/^cover\s+(\d+|\d+\.\d+|\.\d+)%$/i,select:coverQuery},{regexp:/^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/i,select:coverQuery},{regexp:/^supports\s+([\w-]+)$/,select:function(e,s){f.loadFeature(browserslist.cache,s);var r=browserslist.cache[s];return Object.keys(r).reduce((function(e,s){var n=r[s];if(n.indexOf("y")>=0||n.indexOf("a")>=0){e.push(s)}return e}),[])}},{regexp:/^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function(e,s,r){var n=normalizeElectron(s);var t=normalizeElectron(r);if(!o[n]){throw new l("Unknown version "+s+" of electron")}if(!o[t]){throw new l("Unknown version "+r+" of electron")}s=parseFloat(s);r=parseFloat(r);return Object.keys(o).filter((function(e){var n=parseFloat(e);return n>=s&&n<=r})).map((function(e){return"chrome "+o[e]}))}},{regexp:/^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function(e,s,r){var t=n.filter((function(e){return e.name==="nodejs"})).map((function(e){return e.version}));return t.filter(semverFilterLoose(">=",s)).filter(semverFilterLoose("<=",r)).map((function(e){return"node "+e}))}},{regexp:/^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,select:function(e,s,r,n){var t=checkName(s,e);r=parseFloat(normalizeVersion(t,r)||r);n=parseFloat(normalizeVersion(t,n)||n);function filter(e){var s=parseFloat(e);return s>=r&&s<=n}return t.released.filter(filter).map(nameMapper(t.name))}},{regexp:/^electron\s*(>=?|<=?)\s*([\d.]+)$/i,select:function(e,s,r){var n=normalizeElectron(r);return Object.keys(o).filter(generateFilter(s,n)).map((function(e){return"chrome "+o[e]}))}},{regexp:/^node\s*(>=?|<=?)\s*([\d.]+)$/i,select:function(e,s,r){var t=n.filter((function(e){return e.name==="nodejs"})).map((function(e){return e.version}));return t.filter(generateSemverFilter(s,r)).map((function(e){return"node "+e}))}},{regexp:/^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,select:function(e,s,r,n){var t=checkName(s,e);var a=browserslist.versionAliases[t.name][n];if(a){n=a}return t.released.filter(generateFilter(r,n)).map((function(e){return t.name+" "+e}))}},{regexp:/^(firefox|ff|fx)\s+esr$/i,select:function(){return["firefox 78","firefox 91"]}},{regexp:/(operamini|op_mini)\s+all/i,select:function(){return["op_mini all"]}},{regexp:/^electron\s+([\d.]+)$/i,select:function(e,s){var r=normalizeElectron(s);var n=o[r];if(!n){throw new l("Unknown version "+s+" of electron")}return["chrome "+n]}},{regexp:/^node\s+(\d+)$/i,select:nodeQuery},{regexp:/^node\s+(\d+\.\d+)$/i,select:nodeQuery},{regexp:/^node\s+(\d+\.\d+\.\d+)$/i,select:nodeQuery},{regexp:/^current\s+node$/i,select:function(e){return[f.currentNode(resolve,e)]}},{regexp:/^maintained\s+node\s+versions$/i,select:function(e){var s=Date.now();var r=Object.keys(a).filter((function(e){return sDate.parse(a[e].start)&&isEolReleased(e)})).map((function(e){return"node "+e.slice(1)}));return resolve(r,e)}},{regexp:/^phantomjs\s+1.9$/i,select:function(){return["safari 5"]}},{regexp:/^phantomjs\s+2.1$/i,select:function(){return["safari 6"]}},{regexp:/^(\w+)\s+(tp|[\d.]+)$/i,select:function(e,s,r){if(/^tp$/i.test(r))r="TP";var n=checkName(s,e);var t=normalizeVersion(n,r);if(t){r=t}else{if(r.indexOf(".")===-1){t=r+".0"}else{t=r.replace(/\.0$/,"")}t=normalizeVersion(n,t);if(t){r=t}else if(e.ignoreUnknownVersions){return[]}else{throw new l("Unknown version "+r+" of "+s)}}return[n.name+" "+r]}},{regexp:/^browserslist config$/i,select:function(e){return browserslist(undefined,e)}},{regexp:/^extends (.+)$/i,select:function(e,s){return resolve(f.loadQueries(e,s),e)}},{regexp:/^defaults$/i,select:function(e){return resolve(browserslist.defaults,e)}},{regexp:/^dead$/i,select:function(e){var s=["ie <= 10","ie_mob <= 11","bb <= 10","op_mob <= 12.1","samsung 4"];return resolve(s,e)}},{regexp:/^(\w+)$/i,select:function(e,s){if(byName(s,e)){throw new l("Specify versions in Browserslist query for browser "+s)}else{throw unknownQuery(s)}}}];(function(){for(var e in t){var s=t[e];browserslist.data[e]={name:e,versions:normalize(t[e].versions),released:normalize(t[e].versions.slice(0,-3)),releaseDate:t[e].release_date};fillUsage(browserslist.usage.global,e,s.usage_global);browserslist.versionAliases[e]={};for(var r=0;r{var feature=__nccwpck_require__(379)["default"];var region=__nccwpck_require__(225)["default"];var path=__nccwpck_require__(17);var fs=__nccwpck_require__(147);var BrowserslistError=__nccwpck_require__(446);var IS_SECTION=/^\s*\[(.+)]\s*$/;var CONFIG_PATTERN=/^browserslist-config-/;var SCOPED_CONFIG__PATTERN=/@[^/]+\/browserslist-config(-|$|\/)/;var TIME_TO_UPDATE_CANIUSE=6*30*24*60*60*1e3;var FORMAT="Browserslist config should be a string or an array "+"of strings with browser queries";var dataTimeChecked=false;var filenessCache={};var configCache={};function checkExtend(e){var s=" Use `dangerousExtend` option to disable.";if(!CONFIG_PATTERN.test(e)&&!SCOPED_CONFIG__PATTERN.test(e)){throw new BrowserslistError("Browserslist config needs `browserslist-config-` prefix. "+s)}if(e.replace(/^@[^/]+\//,"").indexOf(".")!==-1){throw new BrowserslistError("`.` not allowed in Browserslist config name. "+s)}if(e.indexOf("node_modules")!==-1){throw new BrowserslistError("`node_modules` not allowed in Browserslist config."+s)}}function isFile(e){if(e in filenessCache){return filenessCache[e]}var s=fs.existsSync(e)&&fs.statSync(e).isFile();if(!process.env.BROWSERSLIST_DISABLE_CACHE){filenessCache[e]=s}return s}function eachParent(e,s){var r=isFile(e)?path.dirname(e):e;var n=path.resolve(r);do{var t=s(n);if(typeof t!=="undefined")return t}while(n!==(n=path.dirname(n)));return undefined}function check(e){if(Array.isArray(e)){for(var s=0;s{e.exports={"0.20":"39",.21:"41",.22:"41",.23:"41",.24:"41",.25:"42",.26:"42",.27:"43",.28:"43",.29:"43","0.30":"44",.31:"45",.32:"45",.33:"45",.34:"45",.35:"45",.36:"47",.37:"49","1.0":"49",1.1:"50",1.2:"51",1.3:"52",1.4:"53",1.5:"54",1.6:"56",1.7:"58",1.8:"59","2.0":"61",2.1:"61","3.0":"66",3.1:"66","4.0":"69",4.1:"69",4.2:"69","5.0":"73","6.0":"76",6.1:"76","7.0":"78",7.1:"78",7.2:"78",7.3:"78","8.0":"80",8.1:"80",8.2:"80",8.3:"80",8.4:"80",8.5:"80","9.0":"83",9.1:"83",9.2:"83",9.3:"83",9.4:"83","10.0":"85",10.1:"85",10.2:"85",10.3:"85",10.4:"85","11.0":"87",11.1:"87",11.2:"87",11.3:"87",11.4:"87",11.5:"87","12.0":"89",12.1:"89",12.2:"89","13.0":"91",13.1:"91",13.2:"91",13.3:"91",13.4:"91",13.5:"91",13.6:"91","14.0":"93",14.1:"93",14.2:"93","15.0":"94",15.1:"94",15.2:"94",15.3:"94","16.0":"96","17.0":"98"}},768:e=>{"use strict";e.exports=require("caniuse-lite/dist/unpacker/agents")},379:e=>{"use strict";e.exports=require("caniuse-lite/dist/unpacker/feature")},225:e=>{"use strict";e.exports=require("caniuse-lite/dist/unpacker/region")},147:e=>{"use strict";e.exports=require("fs")},17:e=>{"use strict";e.exports=require("path")},945:e=>{"use strict";e.exports=JSON.parse('[{"name":"nodejs","version":"0.2.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.3.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.4.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.5.0","date":"2011-08-26","lts":false,"security":false},{"name":"nodejs","version":"0.6.0","date":"2011-11-04","lts":false,"security":false},{"name":"nodejs","version":"0.7.0","date":"2012-01-17","lts":false,"security":false},{"name":"nodejs","version":"0.8.0","date":"2012-06-22","lts":false,"security":false},{"name":"nodejs","version":"0.9.0","date":"2012-07-20","lts":false,"security":false},{"name":"nodejs","version":"0.10.0","date":"2013-03-11","lts":false,"security":false},{"name":"nodejs","version":"0.11.0","date":"2013-03-28","lts":false,"security":false},{"name":"nodejs","version":"0.12.0","date":"2015-02-06","lts":false,"security":false},{"name":"nodejs","version":"4.0.0","date":"2015-09-08","lts":false,"security":false},{"name":"nodejs","version":"4.1.0","date":"2015-09-17","lts":false,"security":false},{"name":"nodejs","version":"4.2.0","date":"2015-10-12","lts":"Argon","security":false},{"name":"nodejs","version":"4.3.0","date":"2016-02-09","lts":"Argon","security":false},{"name":"nodejs","version":"4.4.0","date":"2016-03-08","lts":"Argon","security":false},{"name":"nodejs","version":"4.5.0","date":"2016-08-16","lts":"Argon","security":false},{"name":"nodejs","version":"4.6.0","date":"2016-09-27","lts":"Argon","security":true},{"name":"nodejs","version":"4.7.0","date":"2016-12-06","lts":"Argon","security":false},{"name":"nodejs","version":"4.8.0","date":"2017-02-21","lts":"Argon","security":false},{"name":"nodejs","version":"4.9.0","date":"2018-03-28","lts":"Argon","security":true},{"name":"nodejs","version":"5.0.0","date":"2015-10-29","lts":false,"security":false},{"name":"nodejs","version":"5.1.0","date":"2015-11-17","lts":false,"security":false},{"name":"nodejs","version":"5.2.0","date":"2015-12-09","lts":false,"security":false},{"name":"nodejs","version":"5.3.0","date":"2015-12-15","lts":false,"security":false},{"name":"nodejs","version":"5.4.0","date":"2016-01-06","lts":false,"security":false},{"name":"nodejs","version":"5.5.0","date":"2016-01-21","lts":false,"security":false},{"name":"nodejs","version":"5.6.0","date":"2016-02-09","lts":false,"security":false},{"name":"nodejs","version":"5.7.0","date":"2016-02-23","lts":false,"security":false},{"name":"nodejs","version":"5.8.0","date":"2016-03-09","lts":false,"security":false},{"name":"nodejs","version":"5.9.0","date":"2016-03-16","lts":false,"security":false},{"name":"nodejs","version":"5.10.0","date":"2016-04-01","lts":false,"security":false},{"name":"nodejs","version":"5.11.0","date":"2016-04-21","lts":false,"security":false},{"name":"nodejs","version":"5.12.0","date":"2016-06-23","lts":false,"security":false},{"name":"nodejs","version":"6.0.0","date":"2016-04-26","lts":false,"security":false},{"name":"nodejs","version":"6.1.0","date":"2016-05-05","lts":false,"security":false},{"name":"nodejs","version":"6.2.0","date":"2016-05-17","lts":false,"security":false},{"name":"nodejs","version":"6.3.0","date":"2016-07-06","lts":false,"security":false},{"name":"nodejs","version":"6.4.0","date":"2016-08-12","lts":false,"security":false},{"name":"nodejs","version":"6.5.0","date":"2016-08-26","lts":false,"security":false},{"name":"nodejs","version":"6.6.0","date":"2016-09-14","lts":false,"security":false},{"name":"nodejs","version":"6.7.0","date":"2016-09-27","lts":false,"security":true},{"name":"nodejs","version":"6.8.0","date":"2016-10-12","lts":false,"security":false},{"name":"nodejs","version":"6.9.0","date":"2016-10-18","lts":"Boron","security":false},{"name":"nodejs","version":"6.10.0","date":"2017-02-21","lts":"Boron","security":false},{"name":"nodejs","version":"6.11.0","date":"2017-06-06","lts":"Boron","security":false},{"name":"nodejs","version":"6.12.0","date":"2017-11-06","lts":"Boron","security":false},{"name":"nodejs","version":"6.13.0","date":"2018-02-10","lts":"Boron","security":false},{"name":"nodejs","version":"6.14.0","date":"2018-03-28","lts":"Boron","security":true},{"name":"nodejs","version":"6.15.0","date":"2018-11-27","lts":"Boron","security":true},{"name":"nodejs","version":"6.16.0","date":"2018-12-26","lts":"Boron","security":false},{"name":"nodejs","version":"6.17.0","date":"2019-02-28","lts":"Boron","security":true},{"name":"nodejs","version":"7.0.0","date":"2016-10-25","lts":false,"security":false},{"name":"nodejs","version":"7.1.0","date":"2016-11-08","lts":false,"security":false},{"name":"nodejs","version":"7.2.0","date":"2016-11-22","lts":false,"security":false},{"name":"nodejs","version":"7.3.0","date":"2016-12-20","lts":false,"security":false},{"name":"nodejs","version":"7.4.0","date":"2017-01-04","lts":false,"security":false},{"name":"nodejs","version":"7.5.0","date":"2017-01-31","lts":false,"security":false},{"name":"nodejs","version":"7.6.0","date":"2017-02-21","lts":false,"security":false},{"name":"nodejs","version":"7.7.0","date":"2017-02-28","lts":false,"security":false},{"name":"nodejs","version":"7.8.0","date":"2017-03-29","lts":false,"security":false},{"name":"nodejs","version":"7.9.0","date":"2017-04-11","lts":false,"security":false},{"name":"nodejs","version":"7.10.0","date":"2017-05-02","lts":false,"security":false},{"name":"nodejs","version":"8.0.0","date":"2017-05-30","lts":false,"security":false},{"name":"nodejs","version":"8.1.0","date":"2017-06-08","lts":false,"security":false},{"name":"nodejs","version":"8.2.0","date":"2017-07-19","lts":false,"security":false},{"name":"nodejs","version":"8.3.0","date":"2017-08-08","lts":false,"security":false},{"name":"nodejs","version":"8.4.0","date":"2017-08-15","lts":false,"security":false},{"name":"nodejs","version":"8.5.0","date":"2017-09-12","lts":false,"security":false},{"name":"nodejs","version":"8.6.0","date":"2017-09-26","lts":false,"security":false},{"name":"nodejs","version":"8.7.0","date":"2017-10-11","lts":false,"security":false},{"name":"nodejs","version":"8.8.0","date":"2017-10-24","lts":false,"security":false},{"name":"nodejs","version":"8.9.0","date":"2017-10-31","lts":"Carbon","security":false},{"name":"nodejs","version":"8.10.0","date":"2018-03-06","lts":"Carbon","security":false},{"name":"nodejs","version":"8.11.0","date":"2018-03-28","lts":"Carbon","security":true},{"name":"nodejs","version":"8.12.0","date":"2018-09-10","lts":"Carbon","security":false},{"name":"nodejs","version":"8.13.0","date":"2018-11-20","lts":"Carbon","security":false},{"name":"nodejs","version":"8.14.0","date":"2018-11-27","lts":"Carbon","security":true},{"name":"nodejs","version":"8.15.0","date":"2018-12-26","lts":"Carbon","security":false},{"name":"nodejs","version":"8.16.0","date":"2019-04-16","lts":"Carbon","security":false},{"name":"nodejs","version":"8.17.0","date":"2019-12-17","lts":"Carbon","security":true},{"name":"nodejs","version":"9.0.0","date":"2017-10-31","lts":false,"security":false},{"name":"nodejs","version":"9.1.0","date":"2017-11-07","lts":false,"security":false},{"name":"nodejs","version":"9.2.0","date":"2017-11-14","lts":false,"security":false},{"name":"nodejs","version":"9.3.0","date":"2017-12-12","lts":false,"security":false},{"name":"nodejs","version":"9.4.0","date":"2018-01-10","lts":false,"security":false},{"name":"nodejs","version":"9.5.0","date":"2018-01-31","lts":false,"security":false},{"name":"nodejs","version":"9.6.0","date":"2018-02-21","lts":false,"security":false},{"name":"nodejs","version":"9.7.0","date":"2018-03-01","lts":false,"security":false},{"name":"nodejs","version":"9.8.0","date":"2018-03-07","lts":false,"security":false},{"name":"nodejs","version":"9.9.0","date":"2018-03-21","lts":false,"security":false},{"name":"nodejs","version":"9.10.0","date":"2018-03-28","lts":false,"security":true},{"name":"nodejs","version":"9.11.0","date":"2018-04-04","lts":false,"security":false},{"name":"nodejs","version":"10.0.0","date":"2018-04-24","lts":false,"security":false},{"name":"nodejs","version":"10.1.0","date":"2018-05-08","lts":false,"security":false},{"name":"nodejs","version":"10.2.0","date":"2018-05-23","lts":false,"security":false},{"name":"nodejs","version":"10.3.0","date":"2018-05-29","lts":false,"security":false},{"name":"nodejs","version":"10.4.0","date":"2018-06-06","lts":false,"security":false},{"name":"nodejs","version":"10.5.0","date":"2018-06-20","lts":false,"security":false},{"name":"nodejs","version":"10.6.0","date":"2018-07-04","lts":false,"security":false},{"name":"nodejs","version":"10.7.0","date":"2018-07-18","lts":false,"security":false},{"name":"nodejs","version":"10.8.0","date":"2018-08-01","lts":false,"security":false},{"name":"nodejs","version":"10.9.0","date":"2018-08-15","lts":false,"security":false},{"name":"nodejs","version":"10.10.0","date":"2018-09-06","lts":false,"security":false},{"name":"nodejs","version":"10.11.0","date":"2018-09-19","lts":false,"security":false},{"name":"nodejs","version":"10.12.0","date":"2018-10-10","lts":false,"security":false},{"name":"nodejs","version":"10.13.0","date":"2018-10-30","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.14.0","date":"2018-11-27","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.15.0","date":"2018-12-26","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.16.0","date":"2019-05-28","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.17.0","date":"2019-10-22","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.18.0","date":"2019-12-17","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.19.0","date":"2020-02-05","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.20.0","date":"2020-03-26","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.21.0","date":"2020-06-02","lts":"Dubnium","security":true},{"name":"nodejs","version":"10.22.0","date":"2020-07-21","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.23.0","date":"2020-10-27","lts":"Dubnium","security":false},{"name":"nodejs","version":"10.24.0","date":"2021-02-23","lts":"Dubnium","security":true},{"name":"nodejs","version":"11.0.0","date":"2018-10-23","lts":false,"security":false},{"name":"nodejs","version":"11.1.0","date":"2018-10-30","lts":false,"security":false},{"name":"nodejs","version":"11.2.0","date":"2018-11-15","lts":false,"security":false},{"name":"nodejs","version":"11.3.0","date":"2018-11-27","lts":false,"security":true},{"name":"nodejs","version":"11.4.0","date":"2018-12-07","lts":false,"security":false},{"name":"nodejs","version":"11.5.0","date":"2018-12-18","lts":false,"security":false},{"name":"nodejs","version":"11.6.0","date":"2018-12-26","lts":false,"security":false},{"name":"nodejs","version":"11.7.0","date":"2019-01-17","lts":false,"security":false},{"name":"nodejs","version":"11.8.0","date":"2019-01-24","lts":false,"security":false},{"name":"nodejs","version":"11.9.0","date":"2019-01-30","lts":false,"security":false},{"name":"nodejs","version":"11.10.0","date":"2019-02-14","lts":false,"security":false},{"name":"nodejs","version":"11.11.0","date":"2019-03-05","lts":false,"security":false},{"name":"nodejs","version":"11.12.0","date":"2019-03-14","lts":false,"security":false},{"name":"nodejs","version":"11.13.0","date":"2019-03-28","lts":false,"security":false},{"name":"nodejs","version":"11.14.0","date":"2019-04-10","lts":false,"security":false},{"name":"nodejs","version":"11.15.0","date":"2019-04-30","lts":false,"security":false},{"name":"nodejs","version":"12.0.0","date":"2019-04-23","lts":false,"security":false},{"name":"nodejs","version":"12.1.0","date":"2019-04-29","lts":false,"security":false},{"name":"nodejs","version":"12.2.0","date":"2019-05-07","lts":false,"security":false},{"name":"nodejs","version":"12.3.0","date":"2019-05-21","lts":false,"security":false},{"name":"nodejs","version":"12.4.0","date":"2019-06-04","lts":false,"security":false},{"name":"nodejs","version":"12.5.0","date":"2019-06-26","lts":false,"security":false},{"name":"nodejs","version":"12.6.0","date":"2019-07-03","lts":false,"security":false},{"name":"nodejs","version":"12.7.0","date":"2019-07-23","lts":false,"security":false},{"name":"nodejs","version":"12.8.0","date":"2019-08-06","lts":false,"security":false},{"name":"nodejs","version":"12.9.0","date":"2019-08-20","lts":false,"security":false},{"name":"nodejs","version":"12.10.0","date":"2019-09-04","lts":false,"security":false},{"name":"nodejs","version":"12.11.0","date":"2019-09-25","lts":false,"security":false},{"name":"nodejs","version":"12.12.0","date":"2019-10-11","lts":false,"security":false},{"name":"nodejs","version":"12.13.0","date":"2019-10-21","lts":"Erbium","security":false},{"name":"nodejs","version":"12.14.0","date":"2019-12-17","lts":"Erbium","security":true},{"name":"nodejs","version":"12.15.0","date":"2020-02-05","lts":"Erbium","security":true},{"name":"nodejs","version":"12.16.0","date":"2020-02-11","lts":"Erbium","security":false},{"name":"nodejs","version":"12.17.0","date":"2020-05-26","lts":"Erbium","security":false},{"name":"nodejs","version":"12.18.0","date":"2020-06-02","lts":"Erbium","security":true},{"name":"nodejs","version":"12.19.0","date":"2020-10-06","lts":"Erbium","security":false},{"name":"nodejs","version":"12.20.0","date":"2020-11-24","lts":"Erbium","security":false},{"name":"nodejs","version":"12.21.0","date":"2021-02-23","lts":"Erbium","security":true},{"name":"nodejs","version":"12.22.0","date":"2021-03-30","lts":"Erbium","security":false},{"name":"nodejs","version":"13.0.0","date":"2019-10-22","lts":false,"security":false},{"name":"nodejs","version":"13.1.0","date":"2019-11-05","lts":false,"security":false},{"name":"nodejs","version":"13.2.0","date":"2019-11-21","lts":false,"security":false},{"name":"nodejs","version":"13.3.0","date":"2019-12-03","lts":false,"security":false},{"name":"nodejs","version":"13.4.0","date":"2019-12-17","lts":false,"security":true},{"name":"nodejs","version":"13.5.0","date":"2019-12-18","lts":false,"security":false},{"name":"nodejs","version":"13.6.0","date":"2020-01-07","lts":false,"security":false},{"name":"nodejs","version":"13.7.0","date":"2020-01-21","lts":false,"security":false},{"name":"nodejs","version":"13.8.0","date":"2020-02-05","lts":false,"security":true},{"name":"nodejs","version":"13.9.0","date":"2020-02-18","lts":false,"security":false},{"name":"nodejs","version":"13.10.0","date":"2020-03-04","lts":false,"security":false},{"name":"nodejs","version":"13.11.0","date":"2020-03-12","lts":false,"security":false},{"name":"nodejs","version":"13.12.0","date":"2020-03-26","lts":false,"security":false},{"name":"nodejs","version":"13.13.0","date":"2020-04-14","lts":false,"security":false},{"name":"nodejs","version":"13.14.0","date":"2020-04-29","lts":false,"security":false},{"name":"nodejs","version":"14.0.0","date":"2020-04-21","lts":false,"security":false},{"name":"nodejs","version":"14.1.0","date":"2020-04-29","lts":false,"security":false},{"name":"nodejs","version":"14.2.0","date":"2020-05-05","lts":false,"security":false},{"name":"nodejs","version":"14.3.0","date":"2020-05-19","lts":false,"security":false},{"name":"nodejs","version":"14.4.0","date":"2020-06-02","lts":false,"security":true},{"name":"nodejs","version":"14.5.0","date":"2020-06-30","lts":false,"security":false},{"name":"nodejs","version":"14.6.0","date":"2020-07-20","lts":false,"security":false},{"name":"nodejs","version":"14.7.0","date":"2020-07-29","lts":false,"security":false},{"name":"nodejs","version":"14.8.0","date":"2020-08-11","lts":false,"security":false},{"name":"nodejs","version":"14.9.0","date":"2020-08-27","lts":false,"security":false},{"name":"nodejs","version":"14.10.0","date":"2020-09-08","lts":false,"security":false},{"name":"nodejs","version":"14.11.0","date":"2020-09-15","lts":false,"security":true},{"name":"nodejs","version":"14.12.0","date":"2020-09-22","lts":false,"security":false},{"name":"nodejs","version":"14.13.0","date":"2020-09-29","lts":false,"security":false},{"name":"nodejs","version":"14.14.0","date":"2020-10-15","lts":false,"security":false},{"name":"nodejs","version":"14.15.0","date":"2020-10-27","lts":"Fermium","security":false},{"name":"nodejs","version":"14.16.0","date":"2021-02-23","lts":"Fermium","security":true},{"name":"nodejs","version":"14.17.0","date":"2021-05-11","lts":"Fermium","security":false},{"name":"nodejs","version":"14.18.0","date":"2021-09-28","lts":"Fermium","security":false},{"name":"nodejs","version":"15.0.0","date":"2020-10-20","lts":false,"security":false},{"name":"nodejs","version":"15.1.0","date":"2020-11-04","lts":false,"security":false},{"name":"nodejs","version":"15.2.0","date":"2020-11-10","lts":false,"security":false},{"name":"nodejs","version":"15.3.0","date":"2020-11-24","lts":false,"security":false},{"name":"nodejs","version":"15.4.0","date":"2020-12-09","lts":false,"security":false},{"name":"nodejs","version":"15.5.0","date":"2020-12-22","lts":false,"security":false},{"name":"nodejs","version":"15.6.0","date":"2021-01-14","lts":false,"security":false},{"name":"nodejs","version":"15.7.0","date":"2021-01-25","lts":false,"security":false},{"name":"nodejs","version":"15.8.0","date":"2021-02-02","lts":false,"security":false},{"name":"nodejs","version":"15.9.0","date":"2021-02-18","lts":false,"security":false},{"name":"nodejs","version":"15.10.0","date":"2021-02-23","lts":false,"security":true},{"name":"nodejs","version":"15.11.0","date":"2021-03-03","lts":false,"security":false},{"name":"nodejs","version":"15.12.0","date":"2021-03-17","lts":false,"security":false},{"name":"nodejs","version":"15.13.0","date":"2021-03-31","lts":false,"security":false},{"name":"nodejs","version":"15.14.0","date":"2021-04-06","lts":false,"security":false},{"name":"nodejs","version":"16.0.0","date":"2021-04-20","lts":false,"security":false},{"name":"nodejs","version":"16.1.0","date":"2021-05-04","lts":false,"security":false},{"name":"nodejs","version":"16.2.0","date":"2021-05-19","lts":false,"security":false},{"name":"nodejs","version":"16.3.0","date":"2021-06-03","lts":false,"security":false},{"name":"nodejs","version":"16.4.0","date":"2021-06-23","lts":false,"security":false},{"name":"nodejs","version":"16.5.0","date":"2021-07-14","lts":false,"security":false},{"name":"nodejs","version":"16.6.0","date":"2021-07-29","lts":false,"security":true},{"name":"nodejs","version":"16.7.0","date":"2021-08-18","lts":false,"security":false},{"name":"nodejs","version":"16.8.0","date":"2021-08-25","lts":false,"security":false},{"name":"nodejs","version":"16.9.0","date":"2021-09-07","lts":false,"security":false},{"name":"nodejs","version":"16.10.0","date":"2021-09-22","lts":false,"security":false},{"name":"nodejs","version":"16.11.0","date":"2021-10-08","lts":false,"security":false},{"name":"nodejs","version":"16.12.0","date":"2021-10-20","lts":false,"security":false},{"name":"nodejs","version":"17.0.0","date":"2021-10-19","lts":false,"security":false}]')},742:e=>{"use strict";e.exports=JSON.parse('{"v0.8":{"start":"2012-06-25","end":"2014-07-31"},"v0.10":{"start":"2013-03-11","end":"2016-10-31"},"v0.12":{"start":"2015-02-06","end":"2016-12-31"},"v4":{"start":"2015-09-08","lts":"2015-10-12","maintenance":"2017-04-01","end":"2018-04-30","codename":"Argon"},"v5":{"start":"2015-10-29","maintenance":"2016-04-30","end":"2016-06-30"},"v6":{"start":"2016-04-26","lts":"2016-10-18","maintenance":"2018-04-30","end":"2019-04-30","codename":"Boron"},"v7":{"start":"2016-10-25","maintenance":"2017-04-30","end":"2017-06-30"},"v8":{"start":"2017-05-30","lts":"2017-10-31","maintenance":"2019-01-01","end":"2019-12-31","codename":"Carbon"},"v9":{"start":"2017-10-01","maintenance":"2018-04-01","end":"2018-06-30"},"v10":{"start":"2018-04-24","lts":"2018-10-30","maintenance":"2020-05-19","end":"2021-04-30","codename":"Dubnium"},"v11":{"start":"2018-10-23","maintenance":"2019-04-22","end":"2019-06-01"},"v12":{"start":"2019-04-23","lts":"2019-10-21","maintenance":"2020-11-30","end":"2022-04-30","codename":"Erbium"},"v13":{"start":"2019-10-22","maintenance":"2020-04-01","end":"2020-06-01"},"v14":{"start":"2020-04-21","lts":"2020-10-27","maintenance":"2021-10-19","end":"2023-04-30","codename":"Fermium"},"v15":{"start":"2020-10-20","maintenance":"2021-04-01","end":"2021-06-01"},"v16":{"start":"2021-04-20","lts":"2021-10-26","maintenance":"2022-10-18","end":"2024-04-30","codename":""},"v17":{"start":"2021-10-19","maintenance":"2022-04-01","end":"2022-06-01"},"v18":{"start":"2022-04-19","lts":"2022-10-25","maintenance":"2023-10-18","end":"2025-04-30","codename":""}}')}};var __webpack_module_cache__={};function __nccwpck_require__(e){var s=__webpack_module_cache__[e];if(s!==undefined){return s.exports}var r=__webpack_module_cache__[e]={exports:{}};var n=true;try{__webpack_modules__[e](r,r.exports,__nccwpck_require__);n=false}finally{if(n)delete __webpack_module_cache__[e]}return r.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var __webpack_exports__=__nccwpck_require__(567);module.exports=__webpack_exports__})(); \ No newline at end of file diff --git a/packages/next/taskfile.js b/packages/next/taskfile.js index 4584963f2a4e6..de86e54a0b2cc 100644 --- a/packages/next/taskfile.js +++ b/packages/next/taskfile.js @@ -310,10 +310,26 @@ export async function ncc_chalk(task, opts) { // eslint-disable-next-line camelcase externals['browserslist'] = 'next/dist/compiled/browserslist' export async function ncc_browserslist(task, opts) { + const browserslistModule = require.resolve('browserslist') + const nodeFile = join(dirname(browserslistModule), 'node.js') + + const content = await fs.readFile(nodeFile, 'utf8') + // ensure ncc doesn't attempt to bundle dynamic requires + // so that they work at runtime correctly + await fs.writeFile( + nodeFile, + content.replace( + /require\(require\.resolve\(/g, + `__non_webpack_require__(__non_webpack_require__.resolve(` + ) + ) + await task .source(opts.src || relative(__dirname, require.resolve('browserslist'))) .ncc({ packageName: 'browserslist', externals }) .target('compiled/browserslist') + + await fs.writeFile(nodeFile, content) } // eslint-disable-next-line camelcase @@ -1577,7 +1593,6 @@ export async function ncc(task, opts) { 'ncc_node_html_parser', 'ncc_watchpack', 'ncc_chalk', - 'ncc_browserslist', 'ncc_napirs_triples', 'ncc_etag', 'ncc_p_limit', @@ -1686,6 +1701,7 @@ export async function ncc(task, opts) { await task.parallel(['ncc_babel_bundle_packages'], opts) await task.serial( [ + 'ncc_browserslist', 'ncc_next__react_dev_overlay', 'copy_regenerator_runtime', 'copy_babel_runtime', diff --git a/test/e2e/browserslist-extends/index.test.ts b/test/e2e/browserslist-extends/index.test.ts new file mode 100644 index 0000000000000..9b915c1f8f61c --- /dev/null +++ b/test/e2e/browserslist-extends/index.test.ts @@ -0,0 +1,38 @@ +import { createNext } from 'e2e-utils' +import { NextInstance } from 'test/lib/next-modes/base' +import { renderViaHTTP } from 'next-test-utils' + +describe('browserslist-extends', () => { + let next: NextInstance + + beforeAll(async () => { + next = await createNext({ + files: { + 'pages/index.js': ` + import styles from './index.module.css' + + export default function Page() { + return

hello world

+ } + `, + 'pages/index.module.css': ` + .hello { + color: pink; + } + `, + }, + dependencies: { + 'browserslist-config-google': '^3.0.1', + }, + packageJson: { + browserslist: ['extends browserslist-config-google'], + }, + }) + }) + afterAll(() => next.destroy()) + + it('should work', async () => { + const html = await renderViaHTTP(next.url, '/') + expect(html).toContain('hello world') + }) +})