diff --git a/CHANGELOG.md b/CHANGELOG.md index 75daaf13..a0738e2a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Version History +## Version 4.4.0 (2020-05-04) +### Changed +* convert objects to maps (no API changes) + +### Fixed +* bumb devDependencies +* simplify webpack example + ## Version 4.3.0 (2020-04-17) ### Fixed * Hyphenators handle subtags with different lang consistently (issue #108) diff --git a/Hyphenopoly.js b/Hyphenopoly.js index 5becb58c..b8c2be93 100644 --- a/Hyphenopoly.js +++ b/Hyphenopoly.js @@ -1,5 +1,5 @@ /** - * @license Hyphenopoly 4.3.0 - client side hyphenation for webbrowsers + * @license Hyphenopoly 4.4.0 - client side hyphenation for webbrowsers * ©2020 Mathias Nater, Güttingen (mathiasnater at gmail dot com) * https://github.com/mnater/Hyphenopoly * diff --git a/Hyphenopoly_Loader.js b/Hyphenopoly_Loader.js index 4d43bedf..97e95b0b 100644 --- a/Hyphenopoly_Loader.js +++ b/Hyphenopoly_Loader.js @@ -1,5 +1,5 @@ /** - * @license Hyphenopoly_Loader 4.3.0 - client side hyphenation + * @license Hyphenopoly_Loader 4.4.0 - client side hyphenation * ©2020 Mathias Nater, Güttingen (mathiasnater at gmail dot com) * https://github.com/mnater/Hyphenopoly * diff --git a/README.md b/README.md index 53215ae6..2ffe94f7 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,8 @@ Hyphenopoly.js is a __JavaScript-polyfill for hyphenation in HTML__: it hyphenates text if the user agent does not support CSS-hyphenation at all or not for the required languages and it is a __Node.js-module__. The package consists of the following parts: -- _Hyphenopoly_Loader.js_ (~12KB unpacked, ~2KB minified and compressed): feature-checks the client and loads other resources if necessary. -- _Hyphenopoly.js_ (~37KB unpacked, ~4KB minified and compressed): does the whole DOM-foo and wraps wasm. +- _Hyphenopoly_Loader.js_ (~11KB unpacked, ~2KB minified and compressed): feature-checks the client and loads other resources if necessary. +- _Hyphenopoly.js_ (~38KB unpacked, ~5KB minified and compressed): does the whole DOM-foo and wraps wasm. - _wasm-Modules_ (sizes differ! e.g. en-us.wasm: ~24KB uncompressed, ~15KB compressed): core hyphenation functions and hyphenation patterns in a space saving binary format (including pattern license). - _hyphenopoly.module.js_: the node module diff --git a/docs/min/Hyphenopoly.js b/docs/min/Hyphenopoly.js index c4297734..8c011448 100644 --- a/docs/min/Hyphenopoly.js +++ b/docs/min/Hyphenopoly.js @@ -1,9 +1,9 @@ /** - * @license Hyphenopoly 4.3.0 - client side hyphenation for webbrowsers + * @license Hyphenopoly 4.4.0 - client side hyphenation for webbrowsers * ©2020 Mathias Nater, Güttingen (mathiasnater at gmail dot com) * https://github.com/mnater/Hyphenopoly * * Released under the MIT license * http://mnater.github.io/Hyphenopoly/LICENSE */ -(e=>{"use strict";function t(){return Object.create(null)}const n=(e,t)=>({configurable:(4&t)>0,enumerable:(2&t)>0,writable:(1&t)>0,value:e}),r=(t=>{const n=new Map([["afterElementHyphenation",[]],["beforeElementHyphenation",[]],["engineReady",[]],["error",[t=>{t.runDefault&&e.console.warn(t.msg)}]],["hyphenopolyEnd",[]],["hyphenopolyStart",[]]]);return n.forEach((e,r)=>{t.handleEvent&&Object.prototype.hasOwnProperty.call(t.handleEvent,r)&&n.get(r).unshift(t.handleEvent[r])}),{fire:(e,t)=>{t.runDefault=!0,t.preventDefault=()=>{t.runDefault=!1},n.get(e).forEach(e=>{e(t)})}}})(Hyphenopoly);(e=>{const r=Object.create(null,{defaultLanguage:n("en-us",2),dontHyphenate:n((()=>{const e=t();return"abbr,acronym,audio,br,button,code,img,input,kbd,label,math,option,pre,samp,script,style,sub,sup,svg,textarea,var,video".split(",").forEach(t=>{e[t]=!0}),e})(),2),dontHyphenateClass:n("donthyphenate",2),exceptions:n(t(),2),keepAlive:n(!0,2),normalize:n(!1,2),safeCopy:n(!0,2),substitutions:n(t(),2),timeout:n(1e3,2)}),a=Object.create(r),o=Object.create(null,{compound:n("hyphen",2),hyphen:n("­",2),leftmin:n(0,2),leftminPerLang:n(0,2),minWordLength:n(6,2),mixedCase:n(!0,2),orphanControl:n(1,2),rightmin:n(0,2),rightminPerLang:n(0,2)});Object.keys(e.setup).forEach(l=>{if("selectors"===l){const r=Object.keys(e.setup.selectors);Object.defineProperty(a,"selectors",n(r,2)),r.forEach(r=>{const l=t();Object.keys(e.setup.selectors[r]).forEach(t=>{l[t]=n(e.setup.selectors[r][t],2)}),Object.defineProperty(a,r,n(Object.create(o,l),2))})}else if("dontHyphenate"===l){const o=t();Object.keys(e.setup.dontHyphenate).forEach(t=>{o[t]=n(e.setup.dontHyphenate[t],2)}),Object.defineProperty(a,l,n(Object.create(r.dontHyphenate,o),3))}else Object.defineProperty(a,l,n(e.setup[l],3))}),e.c=a})(Hyphenopoly),(a=>{const o=a.c;let l=null;function s(e,t){try{return e.getAttribute("lang")?e.getAttribute("lang").toLowerCase():"html"===e.tagName.toLowerCase()?t?l:null:s(e.parentNode,t)}catch(e){return null}}function c(t=null,n=null){const l=function(){const e=new Map,t=[0];return{add:function(n,r,a){const o={element:n,selector:a};return e.has(r)||e.set(r,[]),e.get(r).push(o),t[0]+=1,o},counter:t,each:function(t){e.forEach((e,n)=>{t(n,e)})},list:e,rem:function(n){let a=0;e.has(n)&&(a=e.get(n).length,e.delete(n),t[0]-=a,0===t[0]&&(r.fire("hyphenopolyEnd",{msg:"hyphenopolyEnd"}),o.keepAlive||(window.Hyphenopoly=null)))}}}(),c=(()=>{let e="."+o.dontHyphenateClass,t=null;for(t in o.dontHyphenate)o.dontHyphenate[t]&&(e+=","+t);return e})(),i=o.selectors.join(",")+","+c;function h(t,n,c,u=!1){const p=function(e,t){return e.lang&&"string"==typeof e.lang?e.lang.toLowerCase():t&&""!==t?t.toLowerCase():s(e,!0)}(t,n);"H9Y"===a.cf.langs[p]?(l.add(t,p,c),!u&&o.safeCopy&&function(t){t.addEventListener("copy",t=>{t.preventDefault();const n=e.getSelection(),r=n.getRangeAt(0).cloneContents(),a=document.createElement("div");a.appendChild(r);const o=a.innerHTML,l=n.toString(),s=/­/g;t.clipboardData.setData("text/plain",l.replace(s,"")),t.clipboardData.setData("text/html",o.replace(s,""))},!0)}(t)):a.cf.langs[p]||r.fire("error",{msg:`Element with '${p}' found, but '${p}.hpb' not loaded. Check language tags!`}),t.childNodes.forEach(e=>{1!==e.nodeType||function(e,t){return e.matches||(e.matches=e.msMatchesSelector||e.webkitMatchesSelector),e.matches(t)}(e,i)||h(e,p,c,!0)})}return null===t?o.selectors.forEach(t=>{e.document.querySelectorAll(t).forEach(e=>{h(e,s(e,!0),t,!1)})}):h(t,s(t,!0),n,!0),l}r.fire("hyphenopolyStart",{msg:"hyphenopolyStart"});const i=new Map,h=new Map;function u(e,t,n){const l=a.languages.get(e),s=o[t],c=s.minWordLength,u=e+"-"+t,p=i.has(u)?i.get(u):function e(t,n,a){const l=o[a],s=l.hyphen;function c(o){let c=t.cache.get(a).get(o);var i;return c||(t.exc.has(o)?c=t.exc.get(o).replace(/-/g,l.hyphen):!l.mixedCase&&(i=o,Array.prototype.map.call(i,e=>e===e.toLowerCase()).some((e,t,n)=>e!==n[0]))?c=o:-1===o.indexOf("-")?o.length>61?(r.fire("error",{msg:"found word longer than 61 characters"}),c=o):c=t.reNotAlphabet.test(o)?o:t.hyphenate(o,s.charCodeAt(0),l.leftminPerLang[n],l.rightminPerLang[n]):c=function(r){let o=null,s=null;return"auto"===l.compound||"all"===l.compound?(s=e(t,n,a),o=r.split("-").map(e=>e.length>=l.minWordLength?s(e):e),r="auto"===l.compound?o.join("-"):o.join("-​")):r=r.replace("-","-​"),r}(o),t.cache.get(a).set(o,c)),c}return t.cache.set(a,new Map),i.set(n+"-"+a,c),c}(l,e,t),g=h.has(t)?h.get(t):function(e){function t(t,n,r,a){const l=o[e];return 3===l.orphanControl&&" "===n&&(n=" "),n+r.replace(RegExp(l.hyphen,"g"),"")+a}return h.set(e,t),t}(t),f=RegExp(`[${l.alphabet}a-zß-öø-þāăąćĉčďđēėęěĝğģĥīįıĵķļľłńņňōőœŕřśŝşšťūŭůűųźżžſǎǐǒǔǖǘǚǜșțʼΐά-ώϐϣϥϧϩϫϭϯϲа-яё-ќўџґүөա-օևअ-ऌएऐओ-नप-रलळव-हऽॠॡঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹઅ-ઋએઐઓ-નપ-રલળવ-હઽૠଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହୠୡஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-வஷ-ஹఅ-ఌఎ-ఐఒ-నప-ళవ-హౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡഅ-ഌഎ-ഐഒ-നപ-ഹൠൡൺ-ൿก-ฮะาำเ-ๅა-ჰሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏḍḷṁṃṅṇṭἀ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾲ-ᾴᾶᾷῂ-ῄῆῇῒΐῖῗῢ-ῧῲ-ῴῶῷⲁⲃⲅⲇⲉⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⳉⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ-]{${c},}`,"gui");function d(e){let t=null;return t=o.normalize?e.normalize("NFC").replace(f,p):e.replace(f,p),1!==s.orphanControl&&(t=t.replace(/(\u0020*)(\S+)(\s*)$/,g)),t}let m=null;var y;return"string"==typeof n?m=d(n):n instanceof HTMLElement&&(y=n,r.fire("beforeElementHyphenation",{el:y,lang:e}),y.childNodes.forEach(e=>{3===e.nodeType&&/\S/.test(e.data)&&e.data.length>=c&&(e.data=d(e.data))}),a.res.get("els").then(e=>{e.counter[0]-=1}),r.fire("afterElementHyphenation",{el:y,lang:e})),m}function p(t,n){n?n.forEach(e=>{u(t,e.selector,e.element)}):r.fire("error",{msg:`engine for language '${t}' loaded, but no elements found.`}),a.res.get("els").then(t=>{0===t.counter[0]&&(e.clearTimeout(a.timeOutHandler),0!==o.hide&&a.hide(0,null),r.fire("hyphenopolyEnd",{msg:"hyphenopolyEnd"}),o.keepAlive||(window.Hyphenopoly=null))})}a.unhyphenate=()=>a.res.get("els").then(e=>(e.each((e,t)=>{t.forEach(e=>{const t=e.element.firstChild;t.data=t.data.replace(RegExp(o[e.selector].hyphen,"g"),"")})}),e));const g=(()=>{if(e.TextDecoder){const e=new TextDecoder("utf-16le");return t=>e.decode(t)}return e=>String.fromCharCode.apply(null,e)})();a.res.get("DOM").then(()=>{l=s(e.document.documentElement,!1),l||""===o.defaultLanguage||(l=o.defaultLanguage),a.res.set("els",Promise.resolve(c())),a.res.get("els").then(e=>{e.each((e,t)=>{a.languages&&a.languages.has(e)&&a.languages.get(e).ready&&p(e,t)})})}),a.res.get("he").forEach((e,l)=>{!function(e,l){const s=window.WebAssembly;function c(e){const c=e.instance.exports;let i=c.conv();i=function(e,t){if(a.c.substitute&&a.c.substitute[l]){const r=a.c.substitute[l];n=n=>{const a=n.toUpperCase();let o=0;a!==n&&(o=a.charCodeAt(0)),e=t.subst(n.charCodeAt(0),o,r[n].charCodeAt(0))},Object.keys(r).forEach(n)}var n;return e}(i,c);const h={buf:c.mem.buffer,hw:s.Global?c.hwo.value:c.hwo,lm:s.Global?c.lmi.value:c.lmi,rm:s.Global?c.rmi.value:c.rmi,wo:s.Global?c.uwo.value:c.uwo};!function(e,l,s,c,i){s=s.replace(/-/g,"");const h=function(e){return a.languages||(a.languages=new Map),a.languages.has(e)||a.languages.set(e,t()),a.languages.get(e)}(e);h.ready||(h.cache=new Map,o.exceptions.global&&(o.exceptions[e]?o.exceptions[e]+=", "+o.exceptions.global:o.exceptions[e]=o.exceptions.global),o.exceptions[e]?(h.exc=new Map(o.exceptions[e].split(", ").map(e=>[e.replace(/-/g,""),e])),delete o.exceptions[e]):h.exc=new Map,h.alphabet=s,h.reNotAlphabet=RegExp(`[^${s}]`,"gi"),h.hyphenate=l,o.selectors.forEach(r=>{const a=o[r];0===a.leftminPerLang&&Object.defineProperty(a,"leftminPerLang",n(t(),2)),0===a.rightminPerLang&&Object.defineProperty(a,"rightminPerLang",n(t(),2)),a.leftminPerLang[e]=Math.max(c,a.leftmin,Number(a.leftminPerLang[e])||0),a.rightminPerLang[e]=Math.max(i,a.rightmin,Number(a.rightminPerLang[e])||0)}),h.ready=!0,a.hyphenators[e].resolve(function(e){return(t,n=".hyphenate")=>("string"!=typeof t&&r.fire("error",{msg:"This use of hyphenators is deprecated. See https://mnater.github.io/Hyphenopoly/Hyphenators.html"}),u(e,n,t))}(e))),r.fire("engineReady",{lang:e}),Promise.all([h,a.res.get("els")]).then(t=>{p(e,t[1].list.get(e))})}(l,function(e,t){const n=new Uint16Array(e.buf,e.wo,64),r=new Uint16Array(e.buf,e.hw,128);return n[0]=95,(e,a,o,l)=>{let s=0;for(const t of e)s+=1,n[s]=t.charCodeAt(0);return n[s+1]=95,n[s+2]=0,1===t(o,l,a)&&(e=g(r.subarray(1,r[0]+1))),e}}(h,c.hyphenate),g(new Uint16Array(c.mem.buffer,1026,i-1)),h.lm,h.rm)}e.w.then(t=>{if(t.ok){let n=t;e.c>1&&(n=t.clone()),s.instantiateStreaming&&"application/wasm"===t.headers.get("Content-Type")?s.instantiateStreaming(n).then(c):n.arrayBuffer().then(e=>{window.WebAssembly.instantiate(e).then(c)})}else a.res.get("els").then(e=>{e.rem(l)}),a.hyphenators[l].reject({msg:`File ${l}.wasm can't be loaded from ${a.paths.patterndir}`})})}(e,l)}),Promise.all(Object.entries(a.hyphenators).reduce((e,t)=>"HTML"!==t[0]?e.concat(t[1]):e,[])).then(()=>{a.hyphenators.HTML.resolve((e,t=".hyphenate")=>(c(e,t).each((e,t)=>{t.forEach(t=>{u(e,t.selector,t.element)})}),null))},e=>{r.fire("error",e)})})(Hyphenopoly)})(window); \ No newline at end of file +((e,t)=>{"use strict";const n=(e,t)=>({configurable:(4&t)>0,enumerable:(2&t)>0,writable:(1&t)>0,value:e}),a=(n=>{const a=new Map([["afterElementHyphenation",[]],["beforeElementHyphenation",[]],["engineReady",[]],["error",[t=>{t.runDefault&&e.console.warn(t.msg)}]],["hyphenopolyEnd",[]],["hyphenopolyStart",[]]]);if(n.handleEvent){const e=new Map(t.entries(n.handleEvent));a.forEach((t,n)=>{e.has(n)&&t.unshift(e.get(n))})}return{fire:(e,t)=>{t.runDefault=!0,t.preventDefault=()=>{t.runDefault=!1},a.get(e).forEach(e=>{e(t)})}}})(Hyphenopoly);(e=>{function n(e){const t=new Map;function n(n){return t.has(n)?t.get(n):e.get(n)}function a(e,n){t.set(e,n)}return new Proxy(e,{get:(e,t)=>"set"===t?a:"get"===t?n:n(t),ownKeys:()=>[...new Set([...e.keys(),...t.keys()])]})}const a=n(new Map([["defaultLanguage","en-us"],["dontHyphenate",n(new Map("abbr,acronym,audio,br,button,code,img,input,kbd,label,math,option,pre,samp,script,style,sub,sup,svg,textarea,var,video".split(",").map(e=>[e,!0])))],["dontHyphenateClass","donthyphenate"],["exceptions",new Map],["keepAlive",!0],["normalize",!1],["safeCopy",!0],["substitute",new Map],["timeout",1e3]]));t.entries(e.setup).forEach(([e,r])=>{switch(e){case"selectors":a.set("selectors",t.keys(r)),t.entries(r).forEach(([e,r])=>{const o=n(new Map([["compound","hyphen"],["hyphen","­"],["leftmin",0],["leftminPerLang",0],["minWordLength",6],["mixedCase",!0],["orphanControl",1],["rightmin",0],["rightminPerLang",0]]));t.entries(r).forEach(([e,n])=>{"object"==typeof n?o.set(e,new Map(t.entries(n))):o.set(e,n)}),a.set(e,o)});break;case"dontHyphenate":case"exceptions":t.entries(r).forEach(([t,n])=>{a.get(e).set(t,n)});break;case"substitute":t.entries(r).forEach(([e,n])=>{a.substitute.set(e,new Map(t.entries(n)))});break;default:a.set(e,r)}}),e.c=a})(Hyphenopoly),(r=>{const o=r.c;let s=null;function l(e,t){try{return e.getAttribute("lang")?e.getAttribute("lang").toLowerCase():"html"===e.tagName.toLowerCase()?t?s:null:l(e.parentNode,t)}catch(e){return null}}function i(n=null,s=null){const i=function(){const e=new Map,t=[0];return{add:function(n,a,r){const o={element:n,selector:r};return e.has(a)||e.set(a,[]),e.get(a).push(o),t[0]+=1,o},counter:t,each:function(t){e.forEach((e,n)=>{t(n,e)})},list:e,rem:function(n){let r=0;e.has(n)&&(r=e.get(n).length,e.delete(n),t[0]-=r,0===t[0]&&(a.fire("hyphenopolyEnd",{msg:"hyphenopolyEnd"}),o.keepAlive||(window.Hyphenopoly=null)))}}}(),c=(()=>{let e="."+o.dontHyphenateClass;return t.getOwnPropertyNames(o.dontHyphenate).forEach(t=>{o.dontHyphenate.get(t)&&(e+=","+t)}),e})(),h=o.selectors.join(",")+","+c;function u(t,n,s,c=!1){const p=function(e,t){return e.lang&&"string"==typeof e.lang?e.lang.toLowerCase():t&&""!==t?t.toLowerCase():l(e,!0)}(t,n),g=r.cf.get("langs").get(p);"H9Y"===g?(i.add(t,p,s),!c&&o.safeCopy&&function(t){t.addEventListener("copy",t=>{t.preventDefault();const n=e.getSelection(),a=n.getRangeAt(0).cloneContents(),r=document.createElement("div");r.appendChild(a);const o=r.innerHTML,s=n.toString(),l=/­/g;t.clipboardData.setData("text/plain",s.replace(l,"")),t.clipboardData.setData("text/html",o.replace(l,""))},!0)}(t)):g||a.fire("error",{msg:`Element with '${p}' found, but '${p}.hpb' not loaded. Check language tags!`}),t.childNodes.forEach(e=>{1!==e.nodeType||e.matches(h)||u(e,p,s,!0)})}return null===n?o.selectors.forEach(t=>{e.document.querySelectorAll(t).forEach(e=>{u(e,l(e,!0),t,!1)})}):u(n,l(n,!0),s,!0),i}a.fire("hyphenopolyStart",{msg:"hyphenopolyStart"});const c=new Map,h=new Map;function u(e,t,n){const s=r.languages.get(e),l=o.get(t),i=l.minWordLength,u=RegExp(`[${s.alphabet}a-zß-öø-þāăąćĉčďđēėęěĝğģĥīįıĵķļľłńņňōőœŕřśŝşšťūŭůűųźżžſǎǐǒǔǖǘǚǜșțʼΐά-ώϐϣϥϧϩϫϭϯϲа-яё-ќўџґүөա-օևअ-ऌएऐओ-नप-रलळव-हऽॠॡঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹઅ-ઋએઐઓ-નપ-રલળવ-હઽૠଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହୠୡஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-வஷ-ஹఅ-ఌఎ-ఐఒ-నప-ళవ-హౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡഅ-ഌഎ-ഐഒ-നപ-ഹൠൡൺ-ൿก-ฮะาำเ-ๅა-ჰሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏḍḷṁṃṅṇṭἀ-ἇἐ-ἕἠ-ἧἰ-ἷὀ-ὅὐ-ὗὠ-ὧὰ-ώᾀ-ᾇᾐ-ᾗᾠ-ᾧᾲ-ᾴᾶᾷῂ-ῄῆῇῒΐῖῗῢ-ῧῲ-ῴῶῷⲁⲃⲅⲇⲉⲍⲏⲑⲓⲕⲗⲙⲛⲝⲟⲡⲣⲥⲧⲩⲫⲭⲯⲱⳉⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮ-]{${i},}`,"gui");function p(n){o.normalize&&(n=n.normalize("NFC"));let r=n.replace(u,function e(t,n,r){const s=n+"-"+r;if(c.has(s))return c.get(s);const l=o.get(r),i=l.hyphen;function h(o){let s=t.cache.get(r).get(o);var c;return s||(s=t.exc.has(o)?t.exc.get(o).replace(/-/g,l.hyphen):!l.mixedCase&&(c=o,Array.prototype.map.call(c,e=>e===e.toLowerCase()).some((e,t,n)=>e!==n[0]))?o:-1===o.indexOf("-")?function(e){return e.length>61&&a.fire("error",{msg:"found word longer than 61 characters"}),t.reNotAlphabet.test(e)?e:t.hyphenate(e,i.charCodeAt(0),l.leftminPerLang.get(n),l.rightminPerLang.get(n))}(o):function(a){let o=null,s=null;return"auto"===l.compound||"all"===l.compound?(s=e(t,n,r),o=a.split("-").map(e=>e.length>=l.minWordLength?s(e):e),a="auto"===l.compound?o.join("-"):o.join("-​")):a=a.replace("-","-​"),a}(o),t.cache.get(r).set(o,s)),s}return t.cache.set(r,new Map),c.set(s,h),h}(s,e,t));return 1!==l.orphanControl&&(r=r.replace(/(\u0020*)(\S+)(\s*)$/,function(e){if(h.has(e))return h.get(e);const t=o.get(e);function n(e,n,a,r){return 3===t.orphanControl&&" "===n&&(n=" "),n+a.replace(RegExp(t.hyphen,"g"),"")+r}return h.set(e,n),n}(t))),r}let g=null;var f;return"string"==typeof n?g=p(n):n instanceof HTMLElement&&(f=n,a.fire("beforeElementHyphenation",{el:f,lang:e}),f.childNodes.forEach(e=>{3===e.nodeType&&/\S/.test(e.data)&&e.data.length>=i&&(e.data=p(e.data))}),r.res.get("els").counter[0]-=1,a.fire("afterElementHyphenation",{el:f,lang:e})),g}function p(t,n){const s=n.list.get(t);s?s.forEach(e=>{u(t,e.selector,e.element)}):a.fire("error",{msg:`engine for language '${t}' loaded, but no elements found.`}),0===n.counter[0]&&(e.clearTimeout(r.timeOutHandler),0!==o.hide&&r.hide(0,null),a.fire("hyphenopolyEnd",{msg:"hyphenopolyEnd"}),o.keepAlive||(window.Hyphenopoly=null))}function g(e){let t="";return o.exceptions.has(e)&&(t=o.exceptions.get(e)),o.exceptions.has("global")&&(""===t?t=o.exceptions.get("global"):t+=", "+o.exceptions.get("global")),""===t?new Map:new Map(t.split(", ").map(e=>[e.replace(/-/g,""),e]))}r.unhyphenate=()=>(r.res.get("els").each((e,t)=>{t.forEach(e=>{const t=e.element.firstChild;t.data=t.data.replace(RegExp(o[e.selector].hyphen,"g"),"")})}),Promise.resolve(r.res.get("els")));const f=(()=>{if(e.TextDecoder){const e=new TextDecoder("utf-16le");return t=>e.decode(t)}return e=>String.fromCharCode.apply(null,e)})();r.res.get("DOM").then(()=>{s=l(e.document.documentElement,!1),s||""===o.defaultLanguage||(s=o.defaultLanguage);const t=i();r.res.set("els",t),t.each(e=>{r.languages&&r.languages.has(e)&&r.languages.get(e).ready&&p(e,t)})}),r.res.get("he").forEach((e,s)=>{!function(e,s){const l=window.WebAssembly;function i(e){const i=e.instance.exports;let c=i.conv();c=function(e,t){return o.substitute.has(s)&&o.substitute.get(s).forEach((n,a)=>{const r=a.toUpperCase(),o=r===a?0:r.charCodeAt(0);e=t.subst(a.charCodeAt(0),o,n.charCodeAt(0))}),e}(c,i);const h={buf:i.mem.buffer,hw:l.Global?i.hwo.value:i.hwo,lm:l.Global?i.lmi.value:i.lmi,rm:l.Global?i.rmi.value:i.rmi,wo:l.Global?i.uwo.value:i.uwo};!function(e,s,l,i,c){o.selectors.forEach(t=>{const n=o.get(t);0===n.leftminPerLang&&n.set("leftminPerLang",new Map),0===n.rightminPerLang&&n.set("rightminPerLang",new Map),n.leftminPerLang.set(e,Math.max(i,n.leftmin,Number(n.leftminPerLang.get(e))||0)),n.rightminPerLang.set(e,Math.max(c,n.rightmin,Number(n.rightminPerLang.get(e))||0))}),r.languages||(r.languages=new Map),l=l.replace(/-/g,""),r.languages.set(e,t.create(null,{alphabet:n(l,2),cache:n(new Map,2),exc:n(g(e),2),hyphenate:n(s,2),ready:n(!0,2),reNotAlphabet:n(RegExp(`[^${l}]`,"gi"),2)})),r.hy6ors.get(e).resolve(function(e){return(t,n=".hyphenate")=>("string"!=typeof t&&a.fire("error",{msg:"This use of hyphenators is deprecated. See https://mnater.github.io/Hyphenopoly/Hyphenators.html"}),u(e,n,t))}(e)),a.fire("engineReady",{lang:e}),p(e,r.res.get("els"))}(s,function(e,t){const n=new Uint16Array(e.buf,e.wo,64),a=new Uint16Array(e.buf,e.hw,128);return n[0]=95,(e,r,o,s)=>{let l=0;for(const t of e)l+=1,n[l]=t.charCodeAt(0);return n[l+1]=95,n[l+2]=0,1===t(o,s,r)&&(e=f(a.subarray(1,a[0]+1))),e}}(h,i.hyphenate),f(new Uint16Array(i.mem.buffer,1026,c-1)),h.lm,h.rm)}e.w.then(t=>{if(t.ok){let n=t;e.c>1&&(n=t.clone()),l.instantiateStreaming&&"application/wasm"===t.headers.get("Content-Type")?l.instantiateStreaming(n).then(i):n.arrayBuffer().then(e=>{window.WebAssembly.instantiate(e).then(i)})}else r.res.get("els").rem(s),r.hy6ors.get(s).reject({msg:`File ${s}.wasm can't be loaded from ${r.paths.patterndir}`})})}(e,s)}),Promise.all([...r.hy6ors.entries()].reduce((e,t)=>"HTML"!==t[0]?e.concat(t[1]):e,[]).concat(r.res.get("DOM"))).then(()=>{r.hy6ors.get("HTML").resolve((e,t=".hyphenate")=>(i(e,t).each((e,t)=>{t.forEach(t=>{u(e,t.selector,t.element)})}),null))},e=>{a.fire("error",e)})})(Hyphenopoly)})(window,Object); \ No newline at end of file diff --git a/docs/min/Hyphenopoly_Loader.js b/docs/min/Hyphenopoly_Loader.js index 8d81ca52..74a34906 100644 --- a/docs/min/Hyphenopoly_Loader.js +++ b/docs/min/Hyphenopoly_Loader.js @@ -1,9 +1,9 @@ /** - * @license Hyphenopoly_Loader 4.3.0 - client side hyphenation + * @license Hyphenopoly_Loader 4.4.0 - client side hyphenation * ©2020 Mathias Nater, Güttingen (mathiasnater at gmail dot com) * https://github.com/mnater/Hyphenopoly * * Released under the MIT license * http://mnater.github.io/Hyphenopoly/LICENSE */ -((e,t,s,n)=>{"use strict";const a=sessionStorage,r="Hyphenopoly_Loader.js",o=new Map,l=()=>n.create(null),i="appendChild",p="createElement",c="createTextNode",h=(e,t)=>n.keys(e).forEach(t);s.cacheFeatureTests&&a.getItem(r)?s.cf=JSON.parse(a.getItem(r)):s.cf={langs:l(),pf:!1},(()=>{const e=t.currentScript.src.replace(r,""),n=e+"patterns/";s.paths?(s.paths.maindir=s.paths.maindir||e,s.paths.patterndir=s.paths.patterndir||n):s.paths={maindir:e,patterndir:n}})(),s.setup?(s.setup.CORScredentials=s.setup.CORScredentials||"include",s.setup.hide=s.setup.hide||"all",s.setup.selectors=s.setup.selectors||{".hyphenate":{}},s.setup.timeout=s.setup.timeout||1e3):s.setup={CORScredentials:"include",hide:"all",selectors:{".hyphenate":{}},timeout:1e3},s.setup.hide=new Map([["all",1],["element",2],["text",3]]).get(s.setup.hide)||0,h(s.require,e=>{const t=s.fallbacks&&s.fallbacks[e]||e;o.set(e.toLowerCase(),new Map([["fn",t],["wo",s.require[e]]]))}),s.defProm=()=>{let e=null,t=null;const s=new Promise((s,n)=>{e=s,t=n});return s.resolve=e,s.reject=t,s},s.hide=(e,n)=>{const a="H9Y_Styles";if(0===e){const e=t.getElementById(a);e&&e.remove()}else{const e="{visibility:hidden!important}",r=t[p]("style");let o="";r.id=a,1===n?o="html"+e:h(s.setup.selectors,t=>{o+=2===n?t+e:t+"{color:transparent!important}"}),r[i](t[c](o)),t.head[i](r)}};const d=(()=>{let e=null;const n="hyphens:auto",a=`visibility:hidden;-webkit-${n};-ms-${n};${n};width:48px;font-size:12px;line-height:12px;border:none;padding:0;word-wrap:normal`;return{ap:()=>e?(t.documentElement[i](e),e):null,cl:()=>{e&&e.remove()},cr:n=>{if(s.cf.langs[n])return;e=e||t[p]("body");const r=t[p]("div");r.lang=n,r.style.cssText=a,r[i](t[c](o.get(n).get("wo").toLowerCase())),e[i](r)}}})();s.res=new Map([["he",new Map]]);const u=new Map;function f(t){const n=o.get(t).get("fn")+".wasm";if(s.cf.pf=!0,s.cf.langs[t]="H9Y",u.has(n)){const e=s.res.get("he").get(u.get(n));e.c+=1,s.res.get("he").set(t,e)}else s.res.get("he").set(t,{c:1,w:e.fetch(s.paths.patterndir+n,{credentials:s.setup.CORScredentials})}),u.set(n,t)}o.forEach((e,t)=>{"FORCEHYPHENOPOLY"===e.get("wo")||"H9Y"===s.cf.langs[t]?f(t):d.cr(t)});const m=d.ap();if(m){m.querySelectorAll("div").forEach(e=>{var t;"auto"===((t=e.style).hyphens||t.webkitHyphens||t.msHyphens)&&e.offsetHeight>12?s.cf.langs[e.lang]="CSS":f(e.lang)}),d.cl()}const g=s.handleEvent;if(s.cf.pf){s.res.set("DOM",new Promise(e=>{"loading"===t.readyState?t.addEventListener("DOMContentLoaded",e,{once:!0,passive:!0}):e()})),1===s.setup.hide&&s.hide(1,1),0!==s.setup.hide&&(s.timeOutHandler=e.setTimeout(()=>{s.hide(0,null),console.info(r+" timed out.")},s.setup.timeout)),s.res.get("DOM").then(()=>{s.setup.hide>1&&s.hide(1,s.setup.hide)});const n=t[p]("script");n.src=s.paths.maindir+"Hyphenopoly.js",t.head[i](n),s.hyphenators=l(),h(s.cf.langs,e=>{"H9Y"===s.cf.langs[e]&&(s.hyphenators[e]=s.defProm())}),s.hyphenators.HTML=s.defProm(),g&&g.polyfill&&g.polyfill()}else g&&g.tearDown&&g.tearDown(),e.Hyphenopoly=null;s.cacheFeatureTests&&a.setItem(r,JSON.stringify(s.cf))})(window,document,Hyphenopoly,Object); \ No newline at end of file +((e,t,s,n)=>{"use strict";const a=sessionStorage,r="Hyphenopoly_Loader.js",o=new Map,i="appendChild",l="createElement",p="createTextNode";s.cacheFeatureTests&&a.getItem(r)?(s.cf=new Map(JSON.parse(a.getItem(r))),s.cf.set("langs",new Map(s.cf.get("langs")))):s.cf=new Map([["langs",new Map],["pf",!1]]),(()=>{const e=t.currentScript.src.replace(r,""),n=e+"patterns/";s.paths?(s.paths.maindir=s.paths.maindir||e,s.paths.patterndir=s.paths.patterndir||n):s.paths={maindir:e,patterndir:n}})(),s.setup?(s.setup.CORScredentials=s.setup.CORScredentials||"include",s.setup.hide=s.setup.hide||"all",s.setup.selectors=s.setup.selectors||{".hyphenate":{}},s.setup.timeout=s.setup.timeout||1e3):s.setup={CORScredentials:"include",hide:"all",selectors:{".hyphenate":{}},timeout:1e3},s.setup.hide=new Map([["all",1],["element",2],["text",3]]).get(s.setup.hide)||0,(()=>{const e=new Map(n.entries(s.require)),t=s.fallbacks?new Map(n.entries(s.fallbacks)):new Map;e.forEach((e,s)=>{const n=t.get(s)||s;o.set(s.toLowerCase(),new Map([["fn",n],["wo",e]]))})})(),s.defProm=()=>{let e=null,t=null;const s=new Promise((s,n)=>{e=s,t=n});return s.resolve=e,s.reject=t,s},s.hide=(e,a)=>{const r="H9Y_Styles";if(0===e){const e=t.getElementById(r);e&&e.remove()}else{const e="{visibility:hidden!important}",h=t[l]("style");let d="";h.id=r,1===a?d="html"+e:(o=s.setup.selectors,c=t=>{d+=2===a?t+e:t+"{color:transparent!important}"},n.keys(o).forEach(c)),h[i](t[p](d)),t.head[i](h)}var o,c};const c=(()=>{let e=null;const n="hyphens:auto",a=`visibility:hidden;-webkit-${n};-ms-${n};${n};width:48px;font-size:12px;line-height:12px;border:none;padding:0;word-wrap:normal`;return{ap:()=>e?(t.documentElement[i](e),e):null,cl:()=>{e&&e.remove()},cr:n=>{if(s.cf.get("langs").get(n))return;e=e||t[l]("body");const r=t[l]("div");r.lang=n,r.style.cssText=a,r[i](t[p](o.get(n).get("wo").toLowerCase())),e[i](r)}}})();s.res=new Map([["he",new Map]]);const h=new Map;function d(t){const n=o.get(t).get("fn")+".wasm";if(s.cf.set("pf",!0),s.cf.get("langs").set(t,"H9Y"),h.has(n)){const e=s.res.get("he").get(h.get(n));e.c+=1,s.res.get("he").set(t,e)}else s.res.get("he").set(t,{c:1,w:e.fetch(s.paths.patterndir+n,{credentials:s.setup.CORScredentials})}),h.set(n,t)}o.forEach((e,t)=>{"FORCEHYPHENOPOLY"===e.get("wo")||"H9Y"===s.cf.get("langs").get(t)?d(t):c.cr(t)});const g=c.ap();if(g){g.querySelectorAll("div").forEach(e=>{var t;"auto"===((t=e.style).hyphens||t.webkitHyphens||t.msHyphens)&&e.offsetHeight>12?s.cf.get("langs").set(e.lang,"CSS"):d(e.lang)}),c.cl()}const u=s.handleEvent;if(s.cf.get("pf")){s.res.set("DOM",new Promise(e=>{"loading"===t.readyState?t.addEventListener("DOMContentLoaded",e,{once:!0,passive:!0}):e()})),1===s.setup.hide&&s.hide(1,1),0!==s.setup.hide&&(s.timeOutHandler=e.setTimeout(()=>{s.hide(0,null),console.info(r+" timed out.")},s.setup.timeout)),s.res.get("DOM").then(()=>{s.setup.hide>1&&s.hide(1,s.setup.hide)});const n=t[l]("script");n.src=s.paths.maindir+"Hyphenopoly.js",t.head[i](n),s.hy6ors=new Map,s.cf.get("langs").forEach((e,t)=>{"H9Y"===e&&s.hy6ors.set(t,s.defProm())}),s.hy6ors.set("HTML",s.defProm()),s.hyphenators=new Proxy(s.hy6ors,{get:(e,t)=>e.get(t),set:()=>!0}),u&&u.polyfill&&u.polyfill()}else u&&u.tearDown&&u.tearDown(),e.Hyphenopoly=null;(()=>{if(s.cacheFeatureTests){const e=[...s.cf.get("langs").entries()];a.setItem(r,JSON.stringify([["langs",e],["pf",s.cf.get("pf")]]))}})()})(window,document,Hyphenopoly,Object); \ No newline at end of file diff --git a/docs/min/testsuite/test1.html b/docs/min/testsuite/test1.html index 1b3fa371..012d81ce 100644 --- a/docs/min/testsuite/test1.html +++ b/docs/min/testsuite/test1.html @@ -24,7 +24,7 @@ var lang = ""; while (i <= tests) { lang = document.getElementById("test" + i).lang; - if (Hyphenopoly.cf.langs[lang] === "CSS") { + if (Hyphenopoly.cf.get("langs").get(lang) === "CSS") { document.getElementById("result").innerHTML += "

" + i + " passed (CSS)

"; result = result && true; } else { diff --git a/docs/min/testsuite/test24.html b/docs/min/testsuite/test24.html index 50062c4f..fda7c27a 100644 --- a/docs/min/testsuite/test24.html +++ b/docs/min/testsuite/test24.html @@ -31,7 +31,7 @@ var lang = ""; while (i <= tests) { lang = document.getElementById("test" + i).lang; - if (Hyphenopoly.cf.langs[lang] === "CSS") { + if (Hyphenopoly.cf.get("langs").get(lang) === "CSS") { document.getElementById("result").innerHTML += "

" + i + " passed (CSS)

"; result = result && true; } else { diff --git a/docs/min/testsuite/test33.html b/docs/min/testsuite/test33.html index 723e7970..382a3ce8 100644 --- a/docs/min/testsuite/test33.html +++ b/docs/min/testsuite/test33.html @@ -32,7 +32,7 @@ var lang = ""; while (i <= tests) { lang = document.getElementById("test" + i).lang; - if (Hyphenopoly.cf.langs[lang] === "CSS") { + if (Hyphenopoly.cf.get("langs").get(lang) === "CSS") { document.getElementById("result").innerHTML += "

" + i + " passed (CSS)

"; result = result && true; } else { diff --git a/docs/min/testsuite/test34.html b/docs/min/testsuite/test34.html index 99cca5dd..17a75996 100644 --- a/docs/min/testsuite/test34.html +++ b/docs/min/testsuite/test34.html @@ -28,7 +28,7 @@ var lang = ""; while (i <= tests) { lang = document.getElementById("test" + i).lang; - if (Hyphenopoly.cf.langs[lang] === "CSS") { + if (Hyphenopoly.cf.get("langs").get(lang) === "CSS") { document.getElementById("result").innerHTML += "

" + i + " passed (CSS)

"; result = result && true; } else { diff --git a/docs/min/testsuite/test38.html b/docs/min/testsuite/test38.html index c0149f4a..d69b90e3 100644 --- a/docs/min/testsuite/test38.html +++ b/docs/min/testsuite/test38.html @@ -28,7 +28,7 @@ window.onload = function () { if (window.Promise) { function hyphenate_en(text) { - Hyphenopoly.hyphenators["en"].then( + Hyphenopoly.hyphenators.en.then( function (enhyph) { document.getElementById("test1").innerText = enhyph(text); assertAll(); @@ -37,7 +37,7 @@ }); } function hyphenate_de(text) { - Hyphenopoly.hyphenators["de"].then( + Hyphenopoly.hyphenators.de.then( function (dehyph) { document.getElementById("test2").innerText = dehyph(text); assertAll(); diff --git a/docs/min/testsuite/test44.html b/docs/min/testsuite/test44.html index 59deee62..29003130 100644 --- a/docs/min/testsuite/test44.html +++ b/docs/min/testsuite/test44.html @@ -23,7 +23,7 @@ var lang = ""; while (i <= tests) { lang = document.getElementById("test" + i).lang; - if (Hyphenopoly.cf.langs[lang] === "CSS") { + if (Hyphenopoly.cf.get("langs").get(lang) === "CSS") { document.getElementById("result").innerHTML += "

" + i + " passed (CSS)

"; result = result && true; } else { diff --git a/docs/min/testsuite/test45.html b/docs/min/testsuite/test45.html index 6930de32..c5f4a5be 100644 --- a/docs/min/testsuite/test45.html +++ b/docs/min/testsuite/test45.html @@ -41,7 +41,7 @@ var lang = ""; while (i <= tests) { lang = document.getElementById("test" + i).lang; - if (Hyphenopoly.cf.langs[lang] === "CSS") { + if (Hyphenopoly.cf.get("langs").get(lang) === "CSS") { document.getElementById("result").innerHTML += "

" + i + " passed (CSS)

"; result = result && true; } else { diff --git a/hyphenopoly.module.js b/hyphenopoly.module.js index 6b07010b..d8e95b34 100644 --- a/hyphenopoly.module.js +++ b/hyphenopoly.module.js @@ -1,5 +1,5 @@ /** - * @license Hyphenopoly.module.js 4.3.0 - hyphenation for node + * @license Hyphenopoly.module.js 4.4.0 - hyphenation for node * ©2020 Mathias Nater, Güttingen (mathiasnater at gmail dot com) * https://github.com/mnater/Hyphenopoly * diff --git a/package-lock.json b/package-lock.json index 38cb1574..836f6ba6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "hyphenopoly", - "version": "4.3.0", + "version": "4.4.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -218,45 +218,45 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.28.0.tgz", - "integrity": "sha512-w0Ugcq2iatloEabQP56BRWJowliXUP5Wv6f9fKzjJmDW81hOTBxRoJ4LoEOxRpz9gcY51Libytd2ba3yLmSOfg==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.31.0.tgz", + "integrity": "sha512-iIC0Pb8qDaoit+m80Ln/aaeu9zKQdOLF4SHcGLarSeY1gurW6aU4JsOPMjKQwXlw70MvWKZQc6S2NamA8SJ/gg==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "2.28.0", + "@typescript-eslint/experimental-utils": "2.31.0", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.0.0", "tsutils": "^3.17.1" } }, "@typescript-eslint/experimental-utils": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.28.0.tgz", - "integrity": "sha512-4SL9OWjvFbHumM/Zh/ZeEjUFxrYKtdCi7At4GyKTbQlrj1HcphIDXlje4Uu4cY+qzszR5NdVin4CCm6AXCjd6w==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.31.0.tgz", + "integrity": "sha512-MI6IWkutLYQYTQgZ48IVnRXmLR/0Q6oAyJgiOror74arUMh7EWjJkADfirZhRsUMHeLJ85U2iySDwHTSnNi9vA==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/typescript-estree": "2.28.0", + "@typescript-eslint/typescript-estree": "2.31.0", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" } }, "@typescript-eslint/parser": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.28.0.tgz", - "integrity": "sha512-RqPybRDquui9d+K86lL7iPqH6Dfp9461oyqvlXMNtap+PyqYbkY5dB7LawQjDzot99fqzvS0ZLZdfe+1Bt3Jgw==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.31.0.tgz", + "integrity": "sha512-uph+w6xUOlyV2DLSC6o+fBDzZ5i7+3/TxAsH4h3eC64tlga57oMb96vVlXoMwjR/nN+xyWlsnxtbDkB46M2EPQ==", "dev": true, "requires": { "@types/eslint-visitor-keys": "^1.0.0", - "@typescript-eslint/experimental-utils": "2.28.0", - "@typescript-eslint/typescript-estree": "2.28.0", + "@typescript-eslint/experimental-utils": "2.31.0", + "@typescript-eslint/typescript-estree": "2.31.0", "eslint-visitor-keys": "^1.1.0" } }, "@typescript-eslint/typescript-estree": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.28.0.tgz", - "integrity": "sha512-HDr8MP9wfwkiuqzRVkuM3BeDrOC4cKbO5a6BymZBHUt5y/2pL0BXD6I/C/ceq2IZoHWhcASk+5/zo+dwgu9V8Q==", + "version": "2.31.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.31.0.tgz", + "integrity": "sha512-vxW149bXFXXuBrAak0eKHOzbcu9cvi6iNcJDzEtOkRwGHxJG15chiAQAwhLOsk+86p9GTr/TziYvw+H9kMaIgA==", "dev": true, "requires": { "debug": "^4.1.1", @@ -293,9 +293,9 @@ } }, "all-contributors-cli": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/all-contributors-cli/-/all-contributors-cli-6.14.1.tgz", - "integrity": "sha512-CKebsaWgOpHGC6ypEYv93q6Frh3H/shuSXF/UhSfG46QxvDM98HzL3sY7o/zvoYLrrF8rEhyjEuHzJq/DNiYwg==", + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/all-contributors-cli/-/all-contributors-cli-6.14.2.tgz", + "integrity": "sha512-DUeZrL0EsXwdYZ1msEeI0cY7DNQqggRKLMfDzgZu+l/72KLf/ZuT97wnUIGAFvSPUlfSAXIVDhivOlZRFjYH+g==", "dev": true, "requires": { "@babel/runtime": "^7.7.6", @@ -3758,7 +3758,8 @@ "dependencies": { "@babel/code-frame": { "version": "7.8.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", + "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", "dev": true, "requires": { "@babel/highlight": "^7.8.3" @@ -3766,7 +3767,8 @@ }, "@babel/core": { "version": "7.8.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.7.tgz", + "integrity": "sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", @@ -3788,14 +3790,16 @@ "dependencies": { "source-map": { "version": "0.5.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "@babel/generator": { "version": "7.8.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz", + "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==", "dev": true, "requires": { "@babel/types": "^7.8.7", @@ -3806,14 +3810,16 @@ "dependencies": { "source-map": { "version": "0.5.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true } } }, "@babel/helper-builder-react-jsx": { "version": "7.8.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.8.3.tgz", + "integrity": "sha512-JT8mfnpTkKNCboTqZsQTdGo3l3Ik3l7QIt9hh0O9DYiwVel37VoJpILKM4YFbP2euF32nkQSb+F9cUk9b7DDXQ==", "dev": true, "requires": { "@babel/types": "^7.8.3", @@ -3822,7 +3828,8 @@ }, "@babel/helper-function-name": { "version": "7.8.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz", + "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==", "dev": true, "requires": { "@babel/helper-get-function-arity": "^7.8.3", @@ -3832,7 +3839,8 @@ }, "@babel/helper-get-function-arity": { "version": "7.8.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", + "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", "dev": true, "requires": { "@babel/types": "^7.8.3" @@ -3840,12 +3848,14 @@ }, "@babel/helper-plugin-utils": { "version": "7.8.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", + "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", "dev": true }, "@babel/helper-split-export-declaration": { "version": "7.8.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", + "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", "dev": true, "requires": { "@babel/types": "^7.8.3" @@ -3853,7 +3863,8 @@ }, "@babel/helpers": { "version": "7.8.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz", + "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==", "dev": true, "requires": { "@babel/template": "^7.8.3", @@ -3863,7 +3874,8 @@ }, "@babel/highlight": { "version": "7.8.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz", + "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==", "dev": true, "requires": { "chalk": "^2.0.0", @@ -3873,12 +3885,14 @@ }, "@babel/parser": { "version": "7.8.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz", + "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==", "dev": true }, "@babel/plugin-proposal-object-rest-spread": { "version": "7.8.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3", @@ -3887,7 +3901,8 @@ }, "@babel/plugin-syntax-jsx": { "version": "7.8.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz", + "integrity": "sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" @@ -3895,7 +3910,8 @@ }, "@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" @@ -3903,7 +3919,8 @@ }, "@babel/plugin-transform-destructuring": { "version": "7.8.8", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz", + "integrity": "sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.3" @@ -3911,7 +3928,8 @@ }, "@babel/plugin-transform-react-jsx": { "version": "7.8.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.8.3.tgz", + "integrity": "sha512-r0h+mUiyL595ikykci+fbwm9YzmuOrUBi0b+FDIKmi3fPQyFokWVEMJnRWHJPPQEjyFJyna9WZC6Viv6UHSv1g==", "dev": true, "requires": { "@babel/helper-builder-react-jsx": "^7.8.3", @@ -3921,7 +3939,8 @@ }, "@babel/runtime": { "version": "7.8.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.7.tgz", + "integrity": "sha512-+AATMUFppJDw6aiR5NVPHqIQBlV/Pj8wY/EZH+lmvRdUo9xBaz/rF3alAwFJQavvKfeOlPE7oaaDHVbcySbCsg==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" @@ -3929,7 +3948,8 @@ }, "@babel/template": { "version": "7.8.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", + "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", @@ -3939,7 +3959,8 @@ }, "@babel/traverse": { "version": "7.8.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz", + "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", @@ -3955,7 +3976,8 @@ }, "@babel/types": { "version": "7.8.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz", + "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -3965,17 +3987,20 @@ }, "@types/color-name": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", "dev": true }, "@types/prop-types": { "version": "15.7.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz", + "integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==", "dev": true }, "@types/react": { "version": "16.9.23", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.23.tgz", + "integrity": "sha512-SsGVT4E7L2wLN3tPYLiF20hmZTPGuzaayVunfgXzUn1x4uHVsKH6QDJQ/TdpHqwsTLd4CwrmQ2vOgxN7gE24gw==", "dev": true, "requires": { "@types/prop-types": "*", @@ -3984,12 +4009,14 @@ }, "@types/yoga-layout": { "version": "1.9.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/@types/yoga-layout/-/yoga-layout-1.9.1.tgz", + "integrity": "sha512-OpfgQXWLZn5Dl7mOd8dBNcV8NywXbYYoHjUpa64vJ/RQABaxMzJ5bVicKLGIvIiMnQPtPgKNgXb5jkv9fkOQtw==", "dev": true }, "ansi-escapes": { "version": "4.3.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", "dev": true, "requires": { "type-fest": "^0.11.0" @@ -3997,12 +4024,14 @@ }, "ansi-regex": { "version": "5.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "ansi-styles": { "version": "3.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -4010,27 +4039,32 @@ }, "ansicolors": { "version": "0.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", "dev": true }, "arrify": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", "dev": true }, "astral-regex": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, "auto-bind": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz", + "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==", "dev": true }, "caller-callsite": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dev": true, "requires": { "callsites": "^2.0.0" @@ -4038,7 +4072,8 @@ }, "caller-path": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dev": true, "requires": { "caller-callsite": "^2.0.0" @@ -4046,12 +4081,14 @@ }, "callsites": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", "dev": true }, "cardinal": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", "dev": true, "requires": { "ansicolors": "~0.3.2", @@ -4060,7 +4097,8 @@ }, "chalk": { "version": "2.4.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -4070,12 +4108,14 @@ }, "ci-info": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "dev": true }, "cli-cursor": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, "requires": { "restore-cursor": "^3.1.0" @@ -4083,7 +4123,8 @@ }, "cli-truncate": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "dev": true, "requires": { "slice-ansi": "^3.0.0", @@ -4092,7 +4133,8 @@ }, "color-convert": { "version": "1.9.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -4100,12 +4142,14 @@ }, "color-name": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "convert-source-map": { "version": "1.7.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dev": true, "requires": { "safe-buffer": "~5.1.1" @@ -4113,19 +4157,22 @@ "dependencies": { "safe-buffer": { "version": "5.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true } } }, "csstype": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.9.tgz", + "integrity": "sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q==", "dev": true }, "debug": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", "dev": true, "requires": { "ms": "^2.1.1" @@ -4133,47 +4180,56 @@ }, "emoji-regex": { "version": "8.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "esprima": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esutils": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "events-to-array": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", + "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", "dev": true }, "gensync": { "version": "1.0.0-beta.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", "dev": true }, "globals": { "version": "11.12.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true }, "has-flag": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "import-jsx": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/import-jsx/-/import-jsx-3.1.0.tgz", + "integrity": "sha512-lTuMdQ/mRXC+xQSGPDvAg1VkODlX78j5hZv2tneJ+zuo7GH/XhUF/YVKoeF382a4jO4GYw9jgganbMhEcxwb0g==", "dev": true, "requires": { "@babel/core": "^7.5.5", @@ -4186,7 +4242,8 @@ }, "ink": { "version": "2.7.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ink/-/ink-2.7.1.tgz", + "integrity": "sha512-s7lJuQDJEdjqtaIWhp3KYHl6WV3J04U9zoQ6wVc+Xoa06XM27SXUY57qC5DO46xkF0CfgXMKkKNcgvSu/SAEpA==", "dev": true, "requires": { "ansi-escapes": "^4.2.1", @@ -4211,7 +4268,8 @@ "dependencies": { "ansi-styles": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { "@types/color-name": "^1.1.1", @@ -4220,7 +4278,8 @@ }, "chalk": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4229,7 +4288,8 @@ }, "color-convert": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -4237,17 +4297,20 @@ }, "color-name": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "has-flag": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "supports-color": { "version": "7.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -4257,7 +4320,8 @@ }, "is-ci": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", "dev": true, "requires": { "ci-info": "^2.0.0" @@ -4265,22 +4329,26 @@ }, "is-fullwidth-code-point": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "js-tokens": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "jsesc": { "version": "2.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true }, "json5": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz", + "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -4288,17 +4356,20 @@ }, "lodash": { "version": "4.17.15", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", "dev": true }, "lodash.throttle": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=", "dev": true }, "log-update": { "version": "3.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.4.0.tgz", + "integrity": "sha512-ILKe88NeMt4gmDvk/eb615U/IVn7K9KWGkoYbdatQ69Z65nj1ZzjM6fHXfcs0Uge+e+EGnMW7DY4T9yko8vWFg==", "dev": true, "requires": { "ansi-escapes": "^3.2.0", @@ -4308,17 +4379,20 @@ "dependencies": { "ansi-escapes": { "version": "3.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true }, "ansi-regex": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "cli-cursor": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "dev": true, "requires": { "restore-cursor": "^2.0.0" @@ -4326,22 +4400,26 @@ }, "emoji-regex": { "version": "7.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, "mimic-fn": { "version": "1.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "onetime": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true, "requires": { "mimic-fn": "^1.0.0" @@ -4349,7 +4427,8 @@ }, "restore-cursor": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true, "requires": { "onetime": "^2.0.0", @@ -4358,7 +4437,8 @@ }, "string-width": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { "emoji-regex": "^7.0.1", @@ -4368,7 +4448,8 @@ }, "strip-ansi": { "version": "5.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { "ansi-regex": "^4.1.0" @@ -4376,7 +4457,8 @@ }, "wrap-ansi": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", "dev": true, "requires": { "ansi-styles": "^3.2.0", @@ -4388,7 +4470,8 @@ }, "loose-envify": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" @@ -4396,17 +4479,20 @@ }, "mimic-fn": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "minimist": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "minipass": { "version": "3.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", + "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -4414,24 +4500,28 @@ "dependencies": { "yallist": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } } }, "ms": { "version": "2.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "object-assign": { "version": "4.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, "onetime": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -4439,12 +4529,14 @@ }, "path-parse": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, "prop-types": { "version": "15.7.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", + "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", "dev": true, "requires": { "loose-envify": "^1.4.0", @@ -4454,17 +4546,20 @@ }, "punycode": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "react-is": { "version": "16.13.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, "react-reconciler": { "version": "0.24.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.24.0.tgz", + "integrity": "sha512-gAGnwWkf+NOTig9oOowqid9O0HjTDC+XVGBCAmJYYJ2A2cN/O4gDdIuuUQjv8A4v6GDwVfJkagpBBLW5OW9HSw==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -4475,7 +4570,8 @@ }, "redeyed": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", "dev": true, "requires": { "esprima": "~4.0.0" @@ -4483,12 +4579,14 @@ }, "regenerator-runtime": { "version": "0.13.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", "dev": true }, "resolve": { "version": "1.15.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz", + "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -4496,12 +4594,14 @@ }, "resolve-from": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", "dev": true }, "restore-cursor": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, "requires": { "onetime": "^5.1.0", @@ -4519,7 +4619,8 @@ }, "scheduler": { "version": "0.18.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz", + "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==", "dev": true, "requires": { "loose-envify": "^1.1.0", @@ -4528,17 +4629,20 @@ }, "semver": { "version": "5.7.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "signal-exit": { "version": "3.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, "slice-ansi": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -4548,7 +4652,8 @@ "dependencies": { "ansi-styles": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { "@types/color-name": "^1.1.1", @@ -4557,7 +4662,8 @@ }, "color-convert": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -4565,14 +4671,16 @@ }, "color-name": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true } } }, "string-length": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-length/-/string-length-3.1.0.tgz", + "integrity": "sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA==", "dev": true, "requires": { "astral-regex": "^1.0.0", @@ -4581,17 +4689,20 @@ "dependencies": { "ansi-regex": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", "dev": true }, "astral-regex": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true }, "strip-ansi": { "version": "5.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { "ansi-regex": "^4.1.0" @@ -4601,7 +4712,8 @@ }, "string-width": { "version": "4.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -4611,7 +4723,8 @@ }, "strip-ansi": { "version": "6.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { "ansi-regex": "^5.0.0" @@ -4619,7 +4732,8 @@ }, "supports-color": { "version": "5.5.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -4627,7 +4741,8 @@ }, "tap-parser": { "version": "10.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-10.0.1.tgz", + "integrity": "sha512-qdT15H0DoJIi7zOqVXDn9X0gSM68JjNy1w3VemwTJlDnETjbi6SutnqmBfjDJAwkFS79NJ97gZKqie00ZCGmzg==", "dev": true, "requires": { "events-to-array": "^1.0.1", @@ -4637,7 +4752,8 @@ }, "tap-yaml": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-1.0.0.tgz", + "integrity": "sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ==", "dev": true, "requires": { "yaml": "^1.5.0" @@ -4645,12 +4761,14 @@ }, "to-fast-properties": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, "treport": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/treport/-/treport-1.0.2.tgz", + "integrity": "sha512-QCAbFtzIjQN+9k+alo8e6oo8j0eSLsttdahAgNLoC3U36rls8XRy/R11QOhHmPz7CDcB2ar29eLe4OFJoPnsPA==", "dev": true, "requires": { "cardinal": "^2.1.1", @@ -4665,7 +4783,8 @@ "dependencies": { "ansi-styles": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { "@types/color-name": "^1.1.1", @@ -4674,7 +4793,8 @@ }, "chalk": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -4683,7 +4803,8 @@ }, "color-convert": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -4691,17 +4812,20 @@ }, "color-name": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "has-flag": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "supports-color": { "version": "7.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -4711,12 +4835,14 @@ }, "type-fest": { "version": "0.11.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", "dev": true }, "unicode-length": { "version": "2.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-2.0.2.tgz", + "integrity": "sha512-Ph/j1VbS3/r77nhoY2WU0GWGjVYOHL3xpKp0y/Eq2e5r0mT/6b649vm7KFO6RdAdrZkYLdxphYVgvODxPB+Ebg==", "dev": true, "requires": { "punycode": "^2.0.0", @@ -4725,12 +4851,14 @@ "dependencies": { "ansi-regex": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { "ansi-regex": "^2.0.0" @@ -4749,7 +4877,8 @@ }, "widest-line": { "version": "3.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", "dev": true, "requires": { "string-width": "^4.0.0" @@ -4757,7 +4886,8 @@ }, "wrap-ansi": { "version": "6.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -4767,7 +4897,8 @@ "dependencies": { "ansi-styles": { "version": "4.2.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", "dev": true, "requires": { "@types/color-name": "^1.1.1", @@ -4776,7 +4907,8 @@ }, "color-convert": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -4784,14 +4916,16 @@ }, "color-name": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true } } }, "yaml": { "version": "1.8.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.8.2.tgz", + "integrity": "sha512-omakb0d7FjMo3R1D2EbTKVIk6dAVLRxFXdLZMEUToeAvuqgG/YuHMuQOZ5fgk+vQ8cx+cnGKwyg+8g8PNT0xQg==", "dev": true, "requires": { "@babel/runtime": "^7.8.7" @@ -4799,7 +4933,8 @@ }, "yoga-layout-prebuilt": { "version": "1.9.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.9.5.tgz", + "integrity": "sha512-+G5Ojl4/sG78mk5masCL3SRaZtkKXRBhMGf5c+4C1j32jN9KpS4lxVFdYyBi15EHN4gMeK5sIRf83T33TOaDkA==", "dev": true, "requires": { "@types/yoga-layout": "1.9.1" @@ -4861,9 +4996,9 @@ } }, "terser": { - "version": "4.6.11", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.11.tgz", - "integrity": "sha512-76Ynm7OXUG5xhOpblhytE7X58oeNSmC8xnNhjWVo8CksHit0U0kO4hfNbPrrYwowLWFgM2n9L176VNx2QaHmtA==", + "version": "4.6.13", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz", + "integrity": "sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==", "dev": true, "requires": { "commander": "^2.20.0", diff --git a/package.json b/package.json index 63d465a0..f664d922 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hyphenopoly", - "version": "4.3.0", + "version": "4.4.0", "description": "Hyphenation for node and Polyfill for client-side hyphenation.", "keywords": [ "hyphenation", @@ -42,9 +42,9 @@ }, "dependencies": {}, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^2.28.0", - "@typescript-eslint/parser": "^2.28.0", - "all-contributors-cli": "^6.14.1", + "@typescript-eslint/eslint-plugin": "^2.31.0", + "@typescript-eslint/parser": "^2.31.0", + "all-contributors-cli": "^6.14.2", "assemblyscript": "^0.9.4", "characterset": "^1.3.0", "eslint": "^6.8.0", @@ -52,7 +52,7 @@ "remark-cli": "^8.0.0", "remark-preset-lint-recommended": "^4.0.0", "tap": "^14.10.7", - "terser": "^4.6.11" + "terser": "^4.6.13" }, "remarkConfig": { "plugins": [