CINXE.COM

Git

<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="https://static-production.npmjs.com/styles.3c3ef91f073352bb91e7.css" /> <title data-react-helmet="true">micromatch - npm</title> <meta data-react-helmet="true" http-equiv="cleartype" content="on"/><meta data-react-helmet="true" name="apple-mobile-web-app-capable" content="yes"/><meta data-react-helmet="true" name="mobile-web-app-capable" content="yes"/><meta data-react-helmet="true" name="viewport" content="width=device-width,minimum-scale=1.0,initial-scale=1,user-scalable=yes"/><meta data-react-helmet="true" property="og:image" content="https://static-production.npmjs.com/338e4905a2684ca96e08c7780fc68412.png"/><meta data-react-helmet="true" name="msapplication-TileColor" content="#cb3837"/><meta data-react-helmet="true" name="msapplication-TileImage" content="https://static-production.npmjs.com/7a7ffabbd910fc60161bc04f2cee4160.png"/><meta data-react-helmet="true" name="msapplication-config" content="https://static-production.npmjs.com/668aac888e52ae13cac9cfd71fabd31f.xml"/><meta data-react-helmet="true" name="theme-color" content="#cb3837"/><meta data-react-helmet="true" name="description" content="Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch.. Latest version: 4.0.8, last published: 6 months ago. Start using micromatch in your project by running `npm i micromatch`. There are 4907 other projects in the npm registry using micromatch."/><meta data-react-helmet="true" property="og:description" content="Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch.. Latest version: 4.0.8, last published: 6 months ago. Start using micromatch in your project by running `npm i micromatch`. There are 4907 other projects in the npm registry using micromatch."/><meta data-react-helmet="true" property="og:title" content="micromatch"/><meta data-react-helmet="true" property="og:url" content="https://www.npmjs.com/package/micromatch"/><meta data-react-helmet="true" property="og:site_name" content="npm"/><meta data-react-helmet="true" name="keywords" content="bash,bracket,character-class,expand,expansion,expression,extglob,extglobs,file,files,filter,find,glob,globbing,globs,globstar,lookahead,lookaround,lookbehind,match,matcher,matches,matching,micromatch,minimatch,multimatch,negate,negation,path,pattern,patterns,posix,regex,regexp,regular,shell,star,wildcard"/><meta data-react-helmet="true" name="twitter:card" content="summary"/><meta data-react-helmet="true" name="twitter:url" content="https://www.npmjs.com/package/micromatch"/><meta data-react-helmet="true" name="twitter:title" content="npm: micromatch"/><meta data-react-helmet="true" name="twitter:description" content="Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch.. Latest version: 4.0.8, last published: 6 months ago. Start using micromatch in your project by running `npm i micromatch`. There are 4907 other projects in the npm registry using micromatch."/> <link data-react-helmet="true" href="https://static-production.npmjs.com/osd.xml" rel="search" title="npm package search" type="application/opensearchdescription+xml"/><link data-react-helmet="true" rel="apple-touch-icon" sizes="120x120" href="https://static-production.npmjs.com/58a19602036db1daee0d7863c94673a4.png"/><link data-react-helmet="true" rel="apple-touch-icon" sizes="144x144" href="https://static-production.npmjs.com/7a7ffabbd910fc60161bc04f2cee4160.png"/><link data-react-helmet="true" rel="apple-touch-icon" sizes="152x152" href="https://static-production.npmjs.com/34110fd7686e2c90a487ca98e7336e99.png"/><link data-react-helmet="true" rel="apple-touch-icon" sizes="180x180" href="https://static-production.npmjs.com/3dc95981de4241b35cd55fe126ab6b2c.png"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/b0f1a8318363185cc2ea6a40ac23eeb2.png" sizes="32x32"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/1996fcfdf7ca81ea795f67f093d7f449.png" sizes="230x230"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/f1786e9b7cba9753ca7b9c40e8b98f67.png" sizes="96x96"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/5f6e93af5bf0f5dcdd1eecdac99f51ee.png" sizes="192x192"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/c426a1116301d1fd178c51522484127a.png" sizes="228x228"/><link data-react-helmet="true" rel="icon" type="image/png" href="https://static-production.npmjs.com/da3ab40fb0861d15c83854c29f5f2962.png" sizes="16x16"/> </head> <body> <div id="app"><div class="_452c3ec4 d68c66a8"><div class="cf325dbd list ma0 pa0 tr z-999"><div class="c746cc21 list ma0 pa0 tr z-999"></div></div><div class="flex flex-column vh-100"><header class="_755f5b0f bg-white z-2 bb b--black-20"><div></div><div class="e7070742 pv3-ns ph1-ns bg-white"><div id="header" class="bbefbfcc">skip to:<a aria-label="skip to content" class="d6d0dbcf" href="#main">content</a><a aria-label="skip to package search" class="d6d0dbcf" href="#search">package search</a><a aria-label="skip to sign in" class="d6d0dbcf" href="#signin">sign in</a></div><div class="ef7c6e62 center mw9 border-box ph4-ns ph3 flex items-center"><span class="_0edb515f pr3 dn dib-ns link lh-title dim b--white-30">❤</span><nav class="_4a5f2a79 db w-100 w-auto-ns truncate" aria-label="Product Navigation"><ul id="main-menu" class="list pl0" role="menu" aria-label="Nav Menu"><li role="none" class="dib"><a href="/products/pro" role="menuitem" class="c6c55db4 no-underline f6-ns f7 fw5 dim pr2 pl2" id="nav-pro-link">Pro</a></li><li role="none"><a href="/products/teams" role="menuitem" class="c6c55db4 no-underline f6-ns f7 fw5 dim pr2 pl2" id="nav-teams-link">Teams</a></li><li role="none" class="dib"><a href="/products" role="menuitem" class="c6c55db4 no-underline f6-ns f7 fw5 dim pr2 pl2" id="nav-pricing-link">Pricing</a></li><li role="none" class="dib"><a href="https://docs.npmjs.com" role="menuitem" class="c6c55db4 no-underline f6-ns f7 fw5 dim pr2 pl2" id="nav-docs-link">Documentation</a></li></ul></nav></div></div><div class="_4ea0e50d bt b--black-10"><div class="c5b9953b center mw9 flex flex-wrap ph4-ns border-box"><span class="_657f443d">npm</span><div class="af43375d mt3 db mr4-ns pb3 pb0-ns flex-auto 2-ns ph3 ph0-ns"><a href="/" aria-label="Npm"><svg viewBox="0 0 780 250" aria-hidden="true"><path fill="#231F20" d="M240,250h100v-50h100V0H240V250z M340,50h50v100h-50V50z M480,0v200h100V50h50v150h50V50h50v150h50V0H480z M0,200h100V50h50v150h50V0H0V200z" stroke-width="5" stroke="#f7f7f7"></path></svg></a></div><div id="search" class="_581ebd89 relative flex-auto w-100 w-50-ns pv2-ns order-1-ns order-2"><form id="search" method="GET" action="/search" class="_13c93d41 relative flex bg-transparent ph3 ph2 pv2 ph0-ns pv0-ns bt b--black-10 bn-ns"><div class="e82b10fd relative dde91b96"><div class="_2f299eeb nowrap flex"><span class="_705cdf4f db fl pl3 pr1"><svg width="15px" height="15px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" aria-hidden="true"><g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g stroke="#777777" stroke-width="1.3"><g><path d="M13.4044,7.0274 C13.4044,10.5494 10.5494,13.4044 7.0274,13.4044 C3.5054,13.4044 0.6504,10.5494 0.6504,7.0274 C0.6504,3.5054 3.5054,0.6504 7.0274,0.6504 C10.5494,0.6504 13.4044,3.5054 13.4044,7.0274 Z"></path><path d="M11.4913,11.4913 L17.8683,17.8683"></path></g></g></g></svg></span><input type="search" role="combobox" name="q" hotkeys="[object Object]" placeholder="Search packages" aria-label="Search packages" aria-controls="typeahead-list-606947" aria-expanded="false" aria-activedescendant="" inputref="[object Object]" autoComplete="off" class="_390acbc5 f5 fw3 black relative" value="" element="input"/></div><div aria-live="polite" aria-atomic="true" class="_6f20b8d1"></div></div><button type="submit" class="_0da775bb bn pv2 ph4 f6 white pointer bn pv2 ph4 f6 white pointer" aria-label="Search">Search</button><input type="hidden" name="csrftoken" value="Lh4omIbXQEEQgr1EfC7nafbG7W5WsN4IxyGxZmaSlTr"/></form></div><div class="_6f31c82b ml3 mt2 mt0-ns pv2-ns flex-auto tr nowrap relative pointer fw6 order-1 order-2-ns"><div class="_1066d9e7 flex items-center self-center pl3"><a href="/signup" id="signup" class="_9752c8b3 pa2 lh-copy br2 f6 no-underline fw5 black dim ph3 mr3">Sign Up</a><a href="/login" id="signin" class="_352269a0 pa1 lh-copy br2 f6 no-underline fw5 black dim">Sign In</a></div></div></div></div></header><main id="main"> <div class="_36ae70e9 flex flex-row flex-wrap pb5 ph3-l mw-100 mt4-ns mt1 center-ns mh1" id="top"><div class="w-100 ph0-l ph3 ph4-m"><h2 class="cd6ce1fd flex flex-row justify-start items-center w-100 fw6 mt3 black dib ma0 tracked-tight no-underline hover-black f3-ns"><span class="_50685029 truncate">micromatch</span><div data-nosnippet="true"><a href="/package/@types/micromatch" class="flex"><img src="https://static-production.npmjs.com/6d9930e83bbb43bba93e22eda2871b55.svg" height="20px" title="This package has TypeScript declarations provided by @types/micromatch" alt="DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/micromatch package" class="aa30d277 pl3"/></a></div></h2><span class="_76473bea f6 dib ph0 pv2 mb2-ns black-80 nowrap f5 fw4 lh-copy">4.0.8<!-- --> • </span><span class="_813b53b2 _76473bea f6 dib ph0 pv2 mb2-ns black-80 nowrap f5 fw4 lh-copy">Public</span><span class="_76473bea f6 dib ph0 pv2 mb2-ns black-80 nowrap f5 fw4 lh-copy"> • Published <time dateTime="2024-08-23T16:31:18.748Z" title="8/23/2024, 4:31:18 PM">6 months ago</time></span></div><ul class="cfb2a888 flex flex-column flex-row-l w-100 ma0 pa0 mr2 mr0-l list" role="tablist" aria-owns="package-tab-readme package-tab-code package-tab-dependencies package-tab-dependents package-tab-versions"><li class="_8055e658 f5 fw5 tc pointer d9f99065 ac5f7ef8 f4 fw6 black-50" role="presentation"><a class="_38ce9a85 link db ph4 fw6" href="?activeTab=readme" aria-selected="true" role="tab" aria-controls="tabpanel-readme" id="package-tab-readme" tabindex="0"><span><svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="file-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z"></path></svg> Readme</span></a></li><li class="_8055e658 f5 fw5 tc pointer _7aa1ee94" role="presentation"><a class="_38ce9a85 link db ph4 fw6" href="?activeTab=code" aria-selected="false" role="tab" aria-controls="tabpanel-explore" id="package-tab-code" tabindex="-1"><span><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="file-archive" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M377 105L279.1 7c-4.5-4.5-10.6-7-17-7H256v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zM128.4 336c-17.9 0-32.4 12.1-32.4 27 0 15 14.6 27 32.5 27s32.4-12.1 32.4-27-14.6-27-32.5-27zM224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6z"></path></svg>Code <span class="a17280e0"><span class="Label-sc-6dyj7v-0 kghsgn _22665c13">Beta</span></span></span></a></li><li class="_8055e658 f5 fw5 tc pointer c1f85151" role="presentation"><a class="_38ce9a85 link db ph4 fw6" href="?activeTab=dependencies" aria-selected="false" role="tab" aria-controls="tabpanel-dependencies" id="package-tab-dependencies" tabindex="-1"><span><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="cube" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"></path></svg>2 Dependencies</span></a></li><li class="_8055e658 f5 fw5 tc pointer _7cec0316" role="presentation"><a class="_38ce9a85 link db ph4 fw6" href="?activeTab=dependents" aria-selected="false" role="tab" aria-controls="tabpanel-dependents" id="package-tab-dependents" tabindex="-1"><span><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="cubes" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z"></path></svg>4,907 Dependents</span></a></li><li class="_8055e658 f5 fw5 tc pointer b4fcfd19" role="presentation"><a class="_38ce9a85 link db ph4 fw6" href="?activeTab=versions" aria-selected="false" role="tab" aria-controls="tabpanel-versions" id="package-tab-versions" tabindex="-1"><span><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="tags" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z"></path></svg>69 Versions</span></a></li></ul><div class="_6620a4fd mw8-l mw-100 w-100 w-two-thirds-l ph3-m pt2 pl0-ns pl2"><span><section class="e22ba268 ph2 ph0-ns ml0-ns mr3-ns black-80" id="tabpanel-readme" aria-labelledby="package-tab-readme" role="tabpanel" data-attribute=""><div class=""><article><div id="readme" class="_704c034e _6d9832ac pr4-ns pl0-ns ph1-m pr3-m pr2"><div class="markdown-heading"><h1 class="heading-element">micromatch <a href="https://www.npmjs.com/package/micromatch" rel="nofollow"><img src="https://camo.githubusercontent.com/754e7f5ec26fe13c08c29b212fa2919f664058c52d4a2667ce2a0cc49d2ed7aa/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f6d6963726f6d617463682e7376673f7374796c653d666c6174" alt="NPM version" data-canonical-src="https://img.shields.io/npm/v/micromatch.svg?style=flat" style="max-width: 100%;"></a> <a href="https://npmjs.org/package/micromatch" rel="nofollow"><img src="https://camo.githubusercontent.com/a859516b5f4dcaf6588b74d9f76fe0f39758a350f3d0f1f93d4f46351cd21a96/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f646d2f6d6963726f6d617463682e7376673f7374796c653d666c6174" alt="NPM monthly downloads" data-canonical-src="https://img.shields.io/npm/dm/micromatch.svg?style=flat" style="max-width: 100%;"></a> <a href="https://npmjs.org/package/micromatch" rel="nofollow"><img src="https://camo.githubusercontent.com/cb5515a848cdf49803483a06f45344757862ab7d2813064d6f0a7462ca37d7c8/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f64742f6d6963726f6d617463682e7376673f7374796c653d666c6174" alt="NPM total downloads" data-canonical-src="https://img.shields.io/npm/dt/micromatch.svg?style=flat" style="max-width: 100%;"></a> <a href="https://github.com/micromatch/micromatch/actions/workflows/test.yml"><img src="https://github.com/micromatch/micromatch/actions/workflows/test.yml/badge.svg" alt="Tests" style="max-width: 100%;"></a> </h1><a id="user-content-micromatch-----" class="anchor" aria-label="Permalink: micromatch " href="#micromatch-----"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <blockquote> <p>Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch.</p> </blockquote> <p>Please consider following this project's author, <a href="https://github.com/jonschlinkert">Jon Schlinkert</a>, and consider starring the project to show your ❤️ and support.</p> <div class="markdown-heading"><h2 class="heading-element">Table of Contents</h2><a id="user-content-table-of-contents" class="anchor" aria-label="Permalink: Table of Contents" href="#table-of-contents"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <details> <summary><strong>Details</strong></summary> <ul> <li><a href="#install">Install</a></li> </ul> <ul> <li> <a href="#sponsors">Sponsors</a> <ul> <li><a href="#gold-sponsors">Gold Sponsors</a></li> <li><a href="#quickstart">Quickstart</a></li> <li> <a href="#why-use-micromatch">Why use micromatch?</a> <ul> <li><a href="#matching-features">Matching features</a></li> </ul> </li> <li> <a href="#switching-to-micromatch">Switching to micromatch</a> <ul> <li><a href="#from-minimatch">From minimatch</a></li> <li><a href="#from-multimatch">From multimatch</a></li> </ul> </li> <li><a href="#api">API</a></li> <li><a href="#options">Options</a></li> <li> <a href="#options-examples">Options Examples</a> <ul> <li><a href="#optionsbasename">options.basename</a></li> <li><a href="#optionsbash">options.bash</a></li> <li><a href="#optionsexpandrange">options.expandRange</a></li> <li><a href="#optionsformat">options.format</a></li> <li><a href="#optionsignore">options.ignore</a></li> <li><a href="#optionsmatchbase">options.matchBase</a></li> <li><a href="#optionsnoextglob">options.noextglob</a></li> <li><a href="#optionsnonegate">options.nonegate</a></li> <li><a href="#optionsnoglobstar">options.noglobstar</a></li> <li><a href="#optionsnonull">options.nonull</a></li> <li><a href="#optionsnullglob">options.nullglob</a></li> <li><a href="#optionsonignore">options.onIgnore</a></li> <li><a href="#optionsonmatch">options.onMatch</a></li> <li><a href="#optionsonresult">options.onResult</a></li> <li><a href="#optionsposixslashes">options.posixSlashes</a></li> <li><a href="#optionsunescape">options.unescape</a></li> </ul> </li> <li> <a href="#extended-globbing">Extended globbing</a> <ul> <li><a href="#extglobs">Extglobs</a></li> <li><a href="#braces">Braces</a></li> <li><a href="#regex-character-classes">Regex character classes</a></li> <li><a href="#regex-groups">Regex groups</a></li> <li><a href="#posix-bracket-expressions">POSIX bracket expressions</a></li> </ul> </li> <li> <a href="#notes">Notes</a> <ul> <li><a href="#bash-43-parity">Bash 4.3 parity</a></li> <li><a href="#backslashes">Backslashes</a></li> </ul> </li> <li> <a href="#benchmarks">Benchmarks</a> <ul> <li><a href="#running-benchmarks">Running benchmarks</a></li> <li><a href="#latest-results">Latest results</a></li> </ul> </li> <li><a href="#contributing">Contributing</a></li> <li><a href="#about">About</a></li> </ul> </li> </ul> </details> <div class="markdown-heading"><h2 class="heading-element">Install</h2><a id="user-content-install" class="anchor" aria-label="Permalink: Install" href="#install"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Install with <a href="https://www.npmjs.com/" rel="nofollow">npm</a>:</p> <div class="highlight highlight-source-shell"><pre>$ npm install --save micromatch</pre></div> <br> <div class="markdown-heading"><h1 class="heading-element">Sponsors</h1><a id="user-content-sponsors" class="anchor" aria-label="Permalink: Sponsors" href="#sponsors"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p><a href="https://github.com/sponsors/jonschlinkert">Become a Sponsor</a> to add your logo to this README, or any of <a href="https://github.com/jonschlinkert?tab=repositories&amp;q=&amp;type=&amp;language=&amp;sort=stargazers">my other projects</a></p> <br> <div class="markdown-heading"><h2 class="heading-element">Quickstart</h2><a id="user-content-quickstart" class="anchor" aria-label="Permalink: Quickstart" href="#quickstart"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">micromatch</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// micromatch(list, patterns[, options]);</span></pre></div> <p>The <a href="#micromatch">main export</a> takes a list of strings and one or more glob patterns:</p> <div class="highlight highlight-source-js"><pre><span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-en">micromatch</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'foo'</span><span class="pl-kos">,</span> <span class="pl-s">'bar'</span><span class="pl-kos">,</span> <span class="pl-s">'baz'</span><span class="pl-kos">,</span> <span class="pl-s">'qux'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'f*'</span><span class="pl-kos">,</span> <span class="pl-s">'b*'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">//=&gt; ['foo', 'bar', 'baz']</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-en">micromatch</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'foo'</span><span class="pl-kos">,</span> <span class="pl-s">'bar'</span><span class="pl-kos">,</span> <span class="pl-s">'baz'</span><span class="pl-kos">,</span> <span class="pl-s">'qux'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'*'</span><span class="pl-kos">,</span> <span class="pl-s">'!b*'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">//=&gt; ['foo', 'qux']</span></pre></div> <p>Use <a href="#ismatch">.isMatch()</a> to for boolean matching:</p> <div class="highlight highlight-source-js"><pre><span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'foo'</span><span class="pl-kos">,</span> <span class="pl-s">'f*'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">//=&gt; true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'foo'</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'b*'</span><span class="pl-kos">,</span> <span class="pl-s">'f*'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">//=&gt; true</span></pre></div> <p><a href="#switching-to-micromatch">Switching</a> from minimatch and multimatch is easy!</p> <br> <div class="markdown-heading"><h2 class="heading-element">Why use micromatch?</h2><a id="user-content-why-use-micromatch" class="anchor" aria-label="Permalink: Why use micromatch?" href="#why-use-micromatch"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <blockquote> <p>micromatch is a <a href="#switching-to-micromatch">replacement</a> for minimatch and multimatch</p> </blockquote> <ul> <li>Supports all of the same matching features as <a href="https://github.com/isaacs/minimatch">minimatch</a> and <a href="https://github.com/sindresorhus/multimatch">multimatch</a> </li> <li>More complete support for the Bash 4.3 specification than minimatch and multimatch. Micromatch passes <em>all of the spec tests</em> from bash, including some that bash still fails.</li> <li> <strong>Fast &amp; Performant</strong> - Loads in about 5ms and performs <a href="#benchmarks">fast matches</a>.</li> <li> <strong>Glob matching</strong> - Using wildcards (<code>*</code> and <code>?</code>), globstars (<code>**</code>) for nested directories</li> <li> <strong><a href="#extended-globbing">Advanced globbing</a></strong> - Supports <a href="#extglobs">extglobs</a>, <a href="#braces-1">braces</a>, and <a href="#posix-bracket-expressions">POSIX brackets</a>, and support for escaping special characters with <code>\</code> or quotes.</li> <li> <strong>Accurate</strong> - Covers more scenarios <a href="https://github.com/yarnpkg/yarn/pull/3339">than minimatch</a> </li> <li> <strong>Well tested</strong> - More than 5,000 <a href="https://github.com/micromatch/micromatch/blob/HEAD/test">test assertions</a> </li> <li> <strong>Windows support</strong> - More reliable windows support than minimatch and multimatch.</li> <li> <strong><a href="https://github.com/micromatch/braces#braces-is-safe">Safe</a></strong> - Micromatch is not subject to DoS with brace patterns like minimatch and multimatch.</li> </ul> <div class="markdown-heading"><h3 class="heading-element">Matching features</h3><a id="user-content-matching-features" class="anchor" aria-label="Permalink: Matching features" href="#matching-features"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <ul> <li>Support for multiple glob patterns (no need for wrappers like multimatch)</li> <li>Wildcards (<code>**</code>, <code>*.js</code>)</li> <li>Negation (<code>'!a/*.js'</code>, <code>'*!(b).js'</code>)</li> <li> <a href="#extglobs">extglobs</a> (<code>+(x|y)</code>, <code>!(a|b)</code>)</li> <li> <a href="#posix-bracket-expressions">POSIX character classes</a> (<code>[[:alpha:][:digit:]]</code>)</li> <li> <a href="https://github.com/micromatch/braces">brace expansion</a> (<code>foo/{1..5}.md</code>, <code>bar/{a,b,c}.js</code>)</li> <li>regex character classes (<code>foo-[1-5].js</code>)</li> <li>regex logical "or" (<code>foo/(abc|xyz).js</code>)</li> </ul> <p>You can mix and match these features to create whatever patterns you need!</p> <div class="markdown-heading"><h2 class="heading-element">Switching to micromatch</h2><a id="user-content-switching-to-micromatch" class="anchor" aria-label="Permalink: Switching to micromatch" href="#switching-to-micromatch"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p><em>(There is one notable difference between micromatch and minimatch in regards to how backslashes are handled. See <a href="#backslashes">the notes about backslashes</a> for more information.)</em></p> <div class="markdown-heading"><h3 class="heading-element">From minimatch</h3><a id="user-content-from-minimatch" class="anchor" aria-label="Permalink: From minimatch" href="#from-minimatch"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Use <a href="#ismatch">micromatch.isMatch()</a> instead of <code>minimatch()</code>:</p> <div class="highlight highlight-source-js"><pre><span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'foo'</span><span class="pl-kos">,</span> <span class="pl-s">'b*'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; false</span></pre></div> <p>Use <a href="#match">micromatch.match()</a> instead of <code>minimatch.match()</code>:</p> <div class="highlight highlight-source-js"><pre><span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">match</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'foo'</span><span class="pl-kos">,</span> <span class="pl-s">'bar'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s">'b*'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; 'bar'</span></pre></div> <div class="markdown-heading"><h3 class="heading-element">From multimatch</h3><a id="user-content-from-multimatch" class="anchor" aria-label="Permalink: From multimatch" href="#from-multimatch"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Same signature:</p> <div class="highlight highlight-source-js"><pre><span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-en">micromatch</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'foo'</span><span class="pl-kos">,</span> <span class="pl-s">'bar'</span><span class="pl-kos">,</span> <span class="pl-s">'baz'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'f*'</span><span class="pl-kos">,</span> <span class="pl-s">'*z'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['foo', 'baz']</span></pre></div> <div class="markdown-heading"><h2 class="heading-element">API</h2><a id="user-content-api" class="anchor" aria-label="Permalink: API" href="#api"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p><strong>Params</strong></p> <ul> <li> <code>list</code> <strong>{String|Array}</strong>: List of strings to match.</li> <li> <code>patterns</code> <strong>{String|Array}</strong>: One or more glob patterns to use for matching.</li> <li> <code>options</code> <strong>{Object}</strong>: See available <a href="#options">options</a> </li> <li> <code>returns</code> <strong>{Array}</strong>: Returns an array of matches</li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// mm(list, patterns[, options]);</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'a.js'</span><span class="pl-kos">,</span> <span class="pl-s">'a.txt'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'*.js'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; [ 'a.js' ]</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L109">.matcher</a></h3><a id="user-content-matcher" class="anchor" aria-label="Permalink: .matcher" href="#matcher"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Returns a matcher function from the given glob <code>pattern</code> and <code>options</code>. The returned function takes a string to match as its only argument and returns true if the string is a match.</p> <p><strong>Params</strong></p> <ul> <li> <code>pattern</code> <strong>{String}</strong>: Glob pattern</li> <li> <code>options</code> <strong>{Object}</strong> </li> <li> <code>returns</code> <strong>{Function}</strong>: Returns a matcher function.</li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// mm.matcher(pattern[, options]);</span> <span class="pl-k">const</span> <span class="pl-s1">isMatch</span> <span class="pl-c1">=</span> <span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">matcher</span><span class="pl-kos">(</span><span class="pl-s">'*.!(*a)'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'a.a'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; false</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'a.b'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; true</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L128">.isMatch</a></h3><a id="user-content-ismatch" class="anchor" aria-label="Permalink: .isMatch" href="#ismatch"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Returns true if <strong>any</strong> of the given glob <code>patterns</code> match the specified <code>string</code>.</p> <p><strong>Params</strong></p> <ul> <li> <code>str</code> <strong>{String}</strong>: The string to test.</li> <li> <code>patterns</code> <strong>{String|Array}</strong>: One or more glob patterns to use for matching.</li> <li> <code>[options]</code> <strong>{Object}</strong>: See available <a href="#options">options</a>.</li> <li> <code>returns</code> <strong>{Boolean}</strong>: Returns true if any patterns match <code>str</code> </li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// mm.isMatch(string, patterns[, options]);</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'a.a'</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'b.*'</span><span class="pl-kos">,</span> <span class="pl-s">'*.a'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'a.a'</span><span class="pl-kos">,</span> <span class="pl-s">'b.*'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; false</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L153">.not</a></h3><a id="user-content-not" class="anchor" aria-label="Permalink: .not" href="#not"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Returns a list of strings that <em><strong>do not match any</strong></em> of the given <code>patterns</code>.</p> <p><strong>Params</strong></p> <ul> <li> <code>list</code> <strong>{Array}</strong>: Array of strings to match.</li> <li> <code>patterns</code> <strong>{String|Array}</strong>: One or more glob pattern to use for matching.</li> <li> <code>options</code> <strong>{Object}</strong>: See available <a href="#options">options</a> for changing how matches are performed</li> <li> <code>returns</code> <strong>{Array}</strong>: Returns an array of strings that <strong>do not match</strong> the given patterns.</li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// mm.not(list, patterns[, options]);</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">not</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'a.a'</span><span class="pl-kos">,</span> <span class="pl-s">'b.b'</span><span class="pl-kos">,</span> <span class="pl-s">'c.c'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s">'*.a'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['b.b', 'c.c']</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L193">.contains</a></h3><a id="user-content-contains" class="anchor" aria-label="Permalink: .contains" href="#contains"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Returns true if the given <code>string</code> contains the given pattern. Similar to <a href="#isMatch">.isMatch</a> but the pattern can match any part of the string.</p> <p><strong>Params</strong></p> <ul> <li> <code>str</code> <strong>{String}</strong>: The string to match.</li> <li> <code>patterns</code> <strong>{String|Array}</strong>: Glob pattern to use for matching.</li> <li> <code>options</code> <strong>{Object}</strong>: See available <a href="#options">options</a> for changing how matches are performed</li> <li> <code>returns</code> <strong>{Boolean}</strong>: Returns true if any of the patterns matches any part of <code>str</code>.</li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">var</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// mm.contains(string, pattern[, options]);</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">contains</span><span class="pl-kos">(</span><span class="pl-s">'aa/bb/cc'</span><span class="pl-kos">,</span> <span class="pl-s">'*b'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">contains</span><span class="pl-kos">(</span><span class="pl-s">'aa/bb/cc'</span><span class="pl-kos">,</span> <span class="pl-s">'*d'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; false</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L235">.matchKeys</a></h3><a id="user-content-matchkeys" class="anchor" aria-label="Permalink: .matchKeys" href="#matchkeys"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Filter the keys of the given object with the given <code>glob</code> pattern and <code>options</code>. Does not attempt to match nested keys. If you need this feature, use <a href="https://github.com/jonschlinkert/glob-object">glob-object</a> instead.</p> <p><strong>Params</strong></p> <ul> <li> <code>object</code> <strong>{Object}</strong>: The object with keys to filter.</li> <li> <code>patterns</code> <strong>{String|Array}</strong>: One or more glob patterns to use for matching.</li> <li> <code>options</code> <strong>{Object}</strong>: See available <a href="#options">options</a> for changing how matches are performed</li> <li> <code>returns</code> <strong>{Object}</strong>: Returns an object with only keys that match the given patterns.</li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// mm.matchKeys(object, patterns[, options]);</span> <span class="pl-k">const</span> <span class="pl-s1">obj</span> <span class="pl-c1">=</span> <span class="pl-kos">{</span> <span class="pl-c1">aa</span>: <span class="pl-s">'a'</span><span class="pl-kos">,</span> <span class="pl-c1">ab</span>: <span class="pl-s">'b'</span><span class="pl-kos">,</span> <span class="pl-c1">ac</span>: <span class="pl-s">'c'</span> <span class="pl-kos">}</span><span class="pl-kos">;</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">matchKeys</span><span class="pl-kos">(</span><span class="pl-s1">obj</span><span class="pl-kos">,</span> <span class="pl-s">'*b'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; { ab: 'b' }</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L264">.some</a></h3><a id="user-content-some" class="anchor" aria-label="Permalink: .some" href="#some"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Returns true if some of the strings in the given <code>list</code> match any of the given glob <code>patterns</code>.</p> <p><strong>Params</strong></p> <ul> <li> <code>list</code> <strong>{String|Array}</strong>: The string or array of strings to test. Returns as soon as the first match is found.</li> <li> <code>patterns</code> <strong>{String|Array}</strong>: One or more glob patterns to use for matching.</li> <li> <code>options</code> <strong>{Object}</strong>: See available <a href="#options">options</a> for changing how matches are performed</li> <li> <code>returns</code> <strong>{Boolean}</strong>: Returns true if any <code>patterns</code> matches any of the strings in <code>list</code> </li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// mm.some(list, patterns[, options]);</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">some</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'foo.js'</span><span class="pl-kos">,</span> <span class="pl-s">'bar.js'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'*.js'</span><span class="pl-kos">,</span> <span class="pl-s">'!foo.js'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">some</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'foo.js'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'*.js'</span><span class="pl-kos">,</span> <span class="pl-s">'!foo.js'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// false</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L300">.every</a></h3><a id="user-content-every" class="anchor" aria-label="Permalink: .every" href="#every"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Returns true if every string in the given <code>list</code> matches any of the given glob <code>patterns</code>.</p> <p><strong>Params</strong></p> <ul> <li> <code>list</code> <strong>{String|Array}</strong>: The string or array of strings to test.</li> <li> <code>patterns</code> <strong>{String|Array}</strong>: One or more glob patterns to use for matching.</li> <li> <code>options</code> <strong>{Object}</strong>: See available <a href="#options">options</a> for changing how matches are performed</li> <li> <code>returns</code> <strong>{Boolean}</strong>: Returns true if all <code>patterns</code> matches all of the strings in <code>list</code> </li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// mm.every(list, patterns[, options]);</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">every</span><span class="pl-kos">(</span><span class="pl-s">'foo.js'</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'foo.js'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">every</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'foo.js'</span><span class="pl-kos">,</span> <span class="pl-s">'bar.js'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'*.js'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">every</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'foo.js'</span><span class="pl-kos">,</span> <span class="pl-s">'bar.js'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'*.js'</span><span class="pl-kos">,</span> <span class="pl-s">'!foo.js'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// false</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">every</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'foo.js'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'*.js'</span><span class="pl-kos">,</span> <span class="pl-s">'!foo.js'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// false</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L339">.all</a></h3><a id="user-content-all" class="anchor" aria-label="Permalink: .all" href="#all"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Returns true if <strong>all</strong> of the given <code>patterns</code> match the specified string.</p> <p><strong>Params</strong></p> <ul> <li> <code>str</code> <strong>{String|Array}</strong>: The string to test.</li> <li> <code>patterns</code> <strong>{String|Array}</strong>: One or more glob patterns to use for matching.</li> <li> <code>options</code> <strong>{Object}</strong>: See available <a href="#options">options</a> for changing how matches are performed</li> <li> <code>returns</code> <strong>{Boolean}</strong>: Returns true if any patterns match <code>str</code> </li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// mm.all(string, patterns[, options]);</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">all</span><span class="pl-kos">(</span><span class="pl-s">'foo.js'</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'foo.js'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">all</span><span class="pl-kos">(</span><span class="pl-s">'foo.js'</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'*.js'</span><span class="pl-kos">,</span> <span class="pl-s">'!foo.js'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// false</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">all</span><span class="pl-kos">(</span><span class="pl-s">'foo.js'</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'*.js'</span><span class="pl-kos">,</span> <span class="pl-s">'foo.js'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">all</span><span class="pl-kos">(</span><span class="pl-s">'foo.js'</span><span class="pl-kos">,</span> <span class="pl-kos">[</span><span class="pl-s">'*.js'</span><span class="pl-kos">,</span> <span class="pl-s">'f*'</span><span class="pl-kos">,</span> <span class="pl-s">'*o*'</span><span class="pl-kos">,</span> <span class="pl-s">'*o.js'</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// true</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L366">.capture</a></h3><a id="user-content-capture" class="anchor" aria-label="Permalink: .capture" href="#capture"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Returns an array of matches captured by <code>pattern</code> in <code>string, or</code>null` if the pattern did not match.</p> <p><strong>Params</strong></p> <ul> <li> <code>glob</code> <strong>{String}</strong>: Glob pattern to use for matching.</li> <li> <code>input</code> <strong>{String}</strong>: String to match</li> <li> <code>options</code> <strong>{Object}</strong>: See available <a href="#options">options</a> for changing how matches are performed</li> <li> <code>returns</code> <strong>{Array|null}</strong>: Returns an array of captures if the input matches the glob pattern, otherwise <code>null</code>.</li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// mm.capture(pattern, string[, options]);</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">capture</span><span class="pl-kos">(</span><span class="pl-s">'test/*.js'</span><span class="pl-kos">,</span> <span class="pl-s">'test/foo.js'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['foo']</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">capture</span><span class="pl-kos">(</span><span class="pl-s">'test/*.js'</span><span class="pl-kos">,</span> <span class="pl-s">'foo/bar.css'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; null</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L392">.makeRe</a></h3><a id="user-content-makere" class="anchor" aria-label="Permalink: .makeRe" href="#makere"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Create a regular expression from the given glob <code>pattern</code>.</p> <p><strong>Params</strong></p> <ul> <li> <code>pattern</code> <strong>{String}</strong>: A glob pattern to convert to regex.</li> <li> <code>options</code> <strong>{Object}</strong> </li> <li> <code>returns</code> <strong>{RegExp}</strong>: Returns a regex created from the given pattern.</li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// mm.makeRe(pattern[, options]);</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">makeRe</span><span class="pl-kos">(</span><span class="pl-s">'*.js'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; /^(?:(\.[\\\/])?(?!\.)(?=.)[^\/]*?\.js)$/</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L408">.scan</a></h3><a id="user-content-scan" class="anchor" aria-label="Permalink: .scan" href="#scan"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Scan a glob pattern to separate the pattern into segments. Used by the <a href="#split">split</a> method.</p> <p><strong>Params</strong></p> <ul> <li> <code>pattern</code> <strong>{String}</strong> </li> <li> <code>options</code> <strong>{Object}</strong> </li> <li> <code>returns</code> <strong>{Object}</strong>: Returns an object with</li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-k">const</span> <span class="pl-s1">state</span> <span class="pl-c1">=</span> <span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">scan</span><span class="pl-kos">(</span><span class="pl-s1">pattern</span><span class="pl-kos">[</span><span class="pl-kos">,</span> <span class="pl-s1">options</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L424">.parse</a></h3><a id="user-content-parse" class="anchor" aria-label="Permalink: .parse" href="#parse"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Parse a glob pattern to create the source string for a regular expression.</p> <p><strong>Params</strong></p> <ul> <li> <code>glob</code> <strong>{String}</strong> </li> <li> <code>options</code> <strong>{Object}</strong> </li> <li> <code>returns</code> <strong>{Object}</strong>: Returns an object with useful properties and output to be used as regex source string.</li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">mm</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-k">const</span> <span class="pl-s1">state</span> <span class="pl-c1">=</span> <span class="pl-s1">mm</span><span class="pl-kos">.</span><span class="pl-en">parse</span><span class="pl-kos">(</span><span class="pl-s1">pattern</span><span class="pl-kos">[</span><span class="pl-kos">,</span> <span class="pl-s1">options</span><span class="pl-kos">]</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div> <div class="markdown-heading"><h3 class="heading-element"><a href="https://github.com/micromatch/micromatch/blob/HEAD/index.js#L451">.braces</a></h3><a id="user-content-braces" class="anchor" aria-label="Permalink: .braces" href="#braces"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Process the given brace <code>pattern</code>.</p> <p><strong>Params</strong></p> <ul> <li> <code>pattern</code> <strong>{String}</strong>: String with brace pattern to process.</li> <li> <code>options</code> <strong>{Object}</strong>: Any <a href="#options">options</a> to change how expansion is performed. See the <a href="https://github.com/micromatch/braces">braces</a> library for all available options.</li> <li> <code>returns</code> <strong>{Array}</strong> </li> </ul> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-kos">{</span> braces <span class="pl-kos">}</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'micromatch'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-en">braces</span><span class="pl-kos">(</span><span class="pl-s">'foo/{a,b,c}/bar'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; [ 'foo/(a|b|c)/bar' ]</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-en">braces</span><span class="pl-kos">(</span><span class="pl-s">'foo/{a,b,c}/bar'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> <span class="pl-c1">expand</span>: <span class="pl-c1">true</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; [ 'foo/a/bar', 'foo/b/bar', 'foo/c/bar' ]</span></pre></div> <div class="markdown-heading"><h2 class="heading-element">Options</h2><a id="user-content-options" class="anchor" aria-label="Permalink: Options" href="#options"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <table> <thead> <tr> <th><strong>Option</strong></th> <th><strong>Type</strong></th> <th><strong>Default value</strong></th> <th><strong>Description</strong></th> </tr> </thead> <tbody> <tr> <td><code>basename</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>If set, then patterns without slashes will be matched against the basename of the path if it contains slashes. For example, <code>a?b</code> would match the path <code>/xyz/123/acb</code>, but not <code>/xyz/acb/123</code>.</td> </tr> <tr> <td><code>bash</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Follow bash matching rules more strictly - disallows backslashes as escape characters, and treats single stars as globstars (<code>**</code>).</td> </tr> <tr> <td><code>capture</code></td> <td><code>boolean</code></td> <td><code>undefined</code></td> <td>Return regex matches in supporting methods.</td> </tr> <tr> <td><code>contains</code></td> <td><code>boolean</code></td> <td><code>undefined</code></td> <td>Allows glob to match any part of the given string(s).</td> </tr> <tr> <td><code>cwd</code></td> <td><code>string</code></td> <td><code>process.cwd()</code></td> <td>Current working directory. Used by <code>picomatch.split()</code> </td> </tr> <tr> <td><code>debug</code></td> <td><code>boolean</code></td> <td><code>undefined</code></td> <td>Debug regular expressions when an error is thrown.</td> </tr> <tr> <td><code>dot</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Match dotfiles. Otherwise dotfiles are ignored unless a <code>.</code> is explicitly defined in the pattern.</td> </tr> <tr> <td><code>expandRange</code></td> <td><code>function</code></td> <td><code>undefined</code></td> <td>Custom function for expanding ranges in brace patterns, such as <code>{a..z}</code>. The function receives the range values as two arguments, and it must return a string to be used in the generated regex. It's recommended that returned strings be wrapped in parentheses. This option is overridden by the <code>expandBrace</code> option.</td> </tr> <tr> <td><code>failglob</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Similar to the <code>failglob</code> behavior in Bash, throws an error when no matches are found. Based on the bash option of the same name.</td> </tr> <tr> <td><code>fastpaths</code></td> <td><code>boolean</code></td> <td><code>true</code></td> <td>To speed up processing, full parsing is skipped for a handful common glob patterns. Disable this behavior by setting this option to <code>false</code>.</td> </tr> <tr> <td><code>flags</code></td> <td><code>boolean</code></td> <td><code>undefined</code></td> <td>Regex flags to use in the generated regex. If defined, the <code>nocase</code> option will be overridden.</td> </tr> <tr> <td><a href="#optionsformat">format</a></td> <td><code>function</code></td> <td><code>undefined</code></td> <td>Custom function for formatting the returned string. This is useful for removing leading slashes, converting Windows paths to Posix paths, etc.</td> </tr> <tr> <td><code>ignore</code></td> <td><code>array|string</code></td> <td><code>undefined</code></td> <td>One or more glob patterns for excluding strings that should not be matched from the result.</td> </tr> <tr> <td><code>keepQuotes</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Retain quotes in the generated regex, since quotes may also be used as an alternative to backslashes.</td> </tr> <tr> <td><code>literalBrackets</code></td> <td><code>boolean</code></td> <td><code>undefined</code></td> <td>When <code>true</code>, brackets in the glob pattern will be escaped so that only literal brackets will be matched.</td> </tr> <tr> <td><code>lookbehinds</code></td> <td><code>boolean</code></td> <td><code>true</code></td> <td>Support regex positive and negative lookbehinds. Note that you must be using Node 8.1.10 or higher to enable regex lookbehinds.</td> </tr> <tr> <td><code>matchBase</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Alias for <code>basename</code> </td> </tr> <tr> <td><code>maxLength</code></td> <td><code>boolean</code></td> <td><code>65536</code></td> <td>Limit the max length of the input string. An error is thrown if the input string is longer than this value.</td> </tr> <tr> <td><code>nobrace</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Disable brace matching, so that <code>{a,b}</code> and <code>{1..3}</code> would be treated as literal characters.</td> </tr> <tr> <td><code>nobracket</code></td> <td><code>boolean</code></td> <td><code>undefined</code></td> <td>Disable matching with regex brackets.</td> </tr> <tr> <td><code>nocase</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Perform case-insensitive matching. Equivalent to the regex <code>i</code> flag. Note that this option is ignored when the <code>flags</code> option is defined.</td> </tr> <tr> <td><code>nodupes</code></td> <td><code>boolean</code></td> <td><code>true</code></td> <td>Deprecated, use <code>nounique</code> instead. This option will be removed in a future major release. By default duplicates are removed. Disable uniquification by setting this option to false.</td> </tr> <tr> <td><code>noext</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Alias for <code>noextglob</code> </td> </tr> <tr> <td><code>noextglob</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Disable support for matching with <a href="#extglobs">extglobs</a> (like <code>+(a|b)</code>)</td> </tr> <tr> <td><code>noglobstar</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Disable support for matching nested directories with globstars (<code>**</code>)</td> </tr> <tr> <td><code>nonegate</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Disable support for negating with leading <code>!</code> </td> </tr> <tr> <td><code>noquantifiers</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Disable support for regex quantifiers (like <code>a{1,2}</code>) and treat them as brace patterns to be expanded.</td> </tr> <tr> <td><a href="#optionsonIgnore">onIgnore</a></td> <td><code>function</code></td> <td><code>undefined</code></td> <td>Function to be called on ignored items.</td> </tr> <tr> <td><a href="#optionsonMatch">onMatch</a></td> <td><code>function</code></td> <td><code>undefined</code></td> <td>Function to be called on matched items.</td> </tr> <tr> <td><a href="#optionsonResult">onResult</a></td> <td><code>function</code></td> <td><code>undefined</code></td> <td>Function to be called on all items, regardless of whether or not they are matched or ignored.</td> </tr> <tr> <td><code>posix</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Support <a href="#posix-bracket-expressions">POSIX character classes</a> ("posix brackets").</td> </tr> <tr> <td><code>posixSlashes</code></td> <td><code>boolean</code></td> <td><code>undefined</code></td> <td>Convert all slashes in file paths to forward slashes. This does not convert slashes in the glob pattern itself</td> </tr> <tr> <td><code>prepend</code></td> <td><code>string</code></td> <td><code>undefined</code></td> <td>String to prepend to the generated regex used for matching.</td> </tr> <tr> <td><code>regex</code></td> <td><code>boolean</code></td> <td><code>false</code></td> <td>Use regular expression rules for <code>+</code> (instead of matching literal <code>+</code>), and for stars that follow closing parentheses or brackets (as in <code>)*</code> and <code>]*</code>).</td> </tr> <tr> <td><code>strictBrackets</code></td> <td><code>boolean</code></td> <td><code>undefined</code></td> <td>Throw an error if brackets, braces, or parens are imbalanced.</td> </tr> <tr> <td><code>strictSlashes</code></td> <td><code>boolean</code></td> <td><code>undefined</code></td> <td>When true, picomatch won't match trailing slashes with single stars.</td> </tr> <tr> <td><code>unescape</code></td> <td><code>boolean</code></td> <td><code>undefined</code></td> <td>Remove preceding backslashes from escaped glob characters before creating the regular expression to perform matches.</td> </tr> <tr> <td><code>unixify</code></td> <td><code>boolean</code></td> <td><code>undefined</code></td> <td>Alias for <code>posixSlashes</code>, for backwards compatitibility.</td> </tr> </tbody> </table> <div class="markdown-heading"><h2 class="heading-element">Options Examples</h2><a id="user-content-options-examples" class="anchor" aria-label="Permalink: Options Examples" href="#options-examples"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <div class="markdown-heading"><h3 class="heading-element">options.basename</h3><a id="user-content-optionsbasename" class="anchor" aria-label="Permalink: options.basename" href="#optionsbasename"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Allow glob patterns without slashes to match a file path based on its basename. Same behavior as <a href="https://github.com/isaacs/minimatch">minimatch</a> option <code>matchBase</code>.</p> <p><strong>Type</strong>: <code>Boolean</code></p> <p><strong>Default</strong>: <code>false</code></p> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-en">micromatch</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'a/b.js'</span><span class="pl-kos">,</span> <span class="pl-s">'a/c.md'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s">'*.js'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; []</span> <span class="pl-en">micromatch</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'a/b.js'</span><span class="pl-kos">,</span> <span class="pl-s">'a/c.md'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s">'*.js'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> <span class="pl-c1">basename</span>: <span class="pl-c1">true</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['a/b.js']</span></pre></div> <div class="markdown-heading"><h3 class="heading-element">options.bash</h3><a id="user-content-optionsbash" class="anchor" aria-label="Permalink: options.bash" href="#optionsbash"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Enabled by default, this option enforces bash-like behavior with stars immediately following a bracket expression. Bash bracket expressions are similar to regex character classes, but unlike regex, a star following a bracket expression <strong>does not repeat the bracketed characters</strong>. Instead, the star is treated the same as any other star.</p> <p><strong>Type</strong>: <code>Boolean</code></p> <p><strong>Default</strong>: <code>true</code></p> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">files</span> <span class="pl-c1">=</span> <span class="pl-kos">[</span><span class="pl-s">'abc'</span><span class="pl-kos">,</span> <span class="pl-s">'ajz'</span><span class="pl-kos">]</span><span class="pl-kos">;</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-en">micromatch</span><span class="pl-kos">(</span><span class="pl-s1">files</span><span class="pl-kos">,</span> <span class="pl-s">'[a-c]*'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['abc', 'ajz']</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-en">micromatch</span><span class="pl-kos">(</span><span class="pl-s1">files</span><span class="pl-kos">,</span> <span class="pl-s">'[a-c]*'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> <span class="pl-c1">bash</span>: <span class="pl-c1">false</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div> <div class="markdown-heading"><h3 class="heading-element">options.expandRange</h3><a id="user-content-optionsexpandrange" class="anchor" aria-label="Permalink: options.expandRange" href="#optionsexpandrange"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p><strong>Type</strong>: <code>function</code></p> <p><strong>Default</strong>: <code>undefined</code></p> <p>Custom function for expanding ranges in brace patterns. The <a href="https://github.com/jonschlinkert/fill-range">fill-range</a> library is ideal for this purpose, or you can use custom code to do whatever you need.</p> <p><strong>Example</strong></p> <p>The following example shows how to create a glob that matches a numeric folder name between <code>01</code> and <code>25</code>, with leading zeros.</p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">fill</span> <span class="pl-c1">=</span> <span class="pl-en">require</span><span class="pl-kos">(</span><span class="pl-s">'fill-range'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-k">const</span> <span class="pl-s1">regex</span> <span class="pl-c1">=</span> <span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">makeRe</span><span class="pl-kos">(</span><span class="pl-s">'foo/{01..25}/bar'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> <span class="pl-en">expandRange</span><span class="pl-kos">(</span><span class="pl-s1">a</span><span class="pl-kos">,</span> <span class="pl-s1">b</span><span class="pl-kos">)</span> <span class="pl-kos">{</span> <span class="pl-k">return</span> <span class="pl-s">`(<span class="pl-s1"><span class="pl-kos">${</span><span class="pl-s1">fill</span><span class="pl-kos">(</span><span class="pl-s1">a</span><span class="pl-kos">,</span> <span class="pl-s1">b</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> <span class="pl-c1">toRegex</span>: <span class="pl-c1">true</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">}</span></span>)`</span><span class="pl-kos">;</span> <span class="pl-kos">}</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">regex</span><span class="pl-kos">)</span> <span class="pl-c">//=&gt; /^(?:foo\/((?:0[1-9]|1[0-9]|2[0-5]))\/bar)$/</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">regex</span><span class="pl-kos">.</span><span class="pl-en">test</span><span class="pl-kos">(</span><span class="pl-s">'foo/00/bar'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">// false</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">regex</span><span class="pl-kos">.</span><span class="pl-en">test</span><span class="pl-kos">(</span><span class="pl-s">'foo/01/bar'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">// true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">regex</span><span class="pl-kos">.</span><span class="pl-en">test</span><span class="pl-kos">(</span><span class="pl-s">'foo/10/bar'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">// true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">regex</span><span class="pl-kos">.</span><span class="pl-en">test</span><span class="pl-kos">(</span><span class="pl-s">'foo/22/bar'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">// true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">regex</span><span class="pl-kos">.</span><span class="pl-en">test</span><span class="pl-kos">(</span><span class="pl-s">'foo/25/bar'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">// true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">regex</span><span class="pl-kos">.</span><span class="pl-en">test</span><span class="pl-kos">(</span><span class="pl-s">'foo/26/bar'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">// false</span></pre></div> <div class="markdown-heading"><h3 class="heading-element">options.format</h3><a id="user-content-optionsformat" class="anchor" aria-label="Permalink: options.format" href="#optionsformat"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p><strong>Type</strong>: <code>function</code></p> <p><strong>Default</strong>: <code>undefined</code></p> <p>Custom function for formatting strings before they're matched.</p> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-c">// strip leading './' from strings</span> <span class="pl-k">const</span> <span class="pl-en">format</span> <span class="pl-c1">=</span> <span class="pl-s1">str</span> <span class="pl-c1">=&gt;</span> <span class="pl-s1">str</span><span class="pl-kos">.</span><span class="pl-en">replace</span><span class="pl-kos">(</span><span class="pl-pds"><span class="pl-c1">/</span>^\.\/<span class="pl-c1">/</span></span><span class="pl-kos">,</span> <span class="pl-s">''</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-k">const</span> <span class="pl-s1">isMatch</span> <span class="pl-c1">=</span> <span class="pl-en">picomatch</span><span class="pl-kos">(</span><span class="pl-s">'foo/*.js'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> format <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'./foo/bar.js'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">//=&gt; true</span></pre></div> <div class="markdown-heading"><h3 class="heading-element">options.ignore</h3><a id="user-content-optionsignore" class="anchor" aria-label="Permalink: options.ignore" href="#optionsignore"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>String or array of glob patterns to match files to ignore.</p> <p><strong>Type</strong>: <code>String|Array</code></p> <p><strong>Default</strong>: <code>undefined</code></p> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-s1">isMatch</span> <span class="pl-c1">=</span> <span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">matcher</span><span class="pl-kos">(</span><span class="pl-s">'*'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> <span class="pl-c1">ignore</span>: <span class="pl-s">'f*'</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'foo'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">//=&gt; false</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'bar'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">//=&gt; true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'baz'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">//=&gt; true</span></pre></div> <div class="markdown-heading"><h3 class="heading-element">options.matchBase</h3><a id="user-content-optionsmatchbase" class="anchor" aria-label="Permalink: options.matchBase" href="#optionsmatchbase"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Alias for <a href="#options-basename">options.basename</a>.</p> <div class="markdown-heading"><h3 class="heading-element">options.noextglob</h3><a id="user-content-optionsnoextglob" class="anchor" aria-label="Permalink: options.noextglob" href="#optionsnoextglob"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Disable extglob support, so that <a href="#extglobs">extglobs</a> are regarded as literal characters.</p> <p><strong>Type</strong>: <code>Boolean</code></p> <p><strong>Default</strong>: <code>undefined</code></p> <p><strong>Examples</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-en">micromatch</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'a/z'</span><span class="pl-kos">,</span> <span class="pl-s">'a/b'</span><span class="pl-kos">,</span> <span class="pl-s">'a/!(z)'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s">'a/!(z)'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['a/b', 'a/!(z)']</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-en">micromatch</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'a/z'</span><span class="pl-kos">,</span> <span class="pl-s">'a/b'</span><span class="pl-kos">,</span> <span class="pl-s">'a/!(z)'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s">'a/!(z)'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> <span class="pl-c1">noextglob</span>: <span class="pl-c1">true</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['a/!(z)'] (matches only as literal characters)</span></pre></div> <div class="markdown-heading"><h3 class="heading-element">options.nonegate</h3><a id="user-content-optionsnonegate" class="anchor" aria-label="Permalink: options.nonegate" href="#optionsnonegate"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Disallow negation (<code>!</code>) patterns, and treat leading <code>!</code> as a literal character to match.</p> <p><strong>Type</strong>: <code>Boolean</code></p> <p><strong>Default</strong>: <code>undefined</code></p> <div class="markdown-heading"><h3 class="heading-element">options.noglobstar</h3><a id="user-content-optionsnoglobstar" class="anchor" aria-label="Permalink: options.noglobstar" href="#optionsnoglobstar"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Disable matching with globstars (<code>**</code>).</p> <p><strong>Type</strong>: <code>Boolean</code></p> <p><strong>Default</strong>: <code>undefined</code></p> <div class="highlight highlight-source-js"><pre><span class="pl-en">micromatch</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'a/b'</span><span class="pl-kos">,</span> <span class="pl-s">'a/b/c'</span><span class="pl-kos">,</span> <span class="pl-s">'a/b/c/d'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s">'a/**'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['a/b', 'a/b/c', 'a/b/c/d']</span> <span class="pl-en">micromatch</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'a/b'</span><span class="pl-kos">,</span> <span class="pl-s">'a/b/c'</span><span class="pl-kos">,</span> <span class="pl-s">'a/b/c/d'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s">'a/**'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span><span class="pl-c1">noglobstar</span>: <span class="pl-c1">true</span><span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['a/b']</span></pre></div> <div class="markdown-heading"><h3 class="heading-element">options.nonull</h3><a id="user-content-optionsnonull" class="anchor" aria-label="Permalink: options.nonull" href="#optionsnonull"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Alias for <a href="#options-nullglob">options.nullglob</a>.</p> <div class="markdown-heading"><h3 class="heading-element">options.nullglob</h3><a id="user-content-optionsnullglob" class="anchor" aria-label="Permalink: options.nullglob" href="#optionsnullglob"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>If <code>true</code>, when no matches are found the actual (arrayified) glob pattern is returned instead of an empty array. Same behavior as <a href="https://github.com/isaacs/minimatch">minimatch</a> option <code>nonull</code>.</p> <p><strong>Type</strong>: <code>Boolean</code></p> <p><strong>Default</strong>: <code>undefined</code></p> <div class="markdown-heading"><h3 class="heading-element">options.onIgnore</h3><a id="user-content-optionsonignore" class="anchor" aria-label="Permalink: options.onIgnore" href="#optionsonignore"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-en">onIgnore</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-kos">{</span> glob<span class="pl-kos">,</span> regex<span class="pl-kos">,</span> input<span class="pl-kos">,</span> output <span class="pl-kos">}</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-kos">{</span> glob<span class="pl-kos">,</span> regex<span class="pl-kos">,</span> input<span class="pl-kos">,</span> output <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// { glob: '*', regex: /^(?:(?!\.)(?=.)[^\/]*?\/?)$/, input: 'foo', output: 'foo' }</span> <span class="pl-kos">}</span><span class="pl-kos">;</span> <span class="pl-k">const</span> <span class="pl-s1">isMatch</span> <span class="pl-c1">=</span> <span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">matcher</span><span class="pl-kos">(</span><span class="pl-s">'*'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> onIgnore<span class="pl-kos">,</span> <span class="pl-c1">ignore</span>: <span class="pl-s">'f*'</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'foo'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'bar'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'baz'</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div> <div class="markdown-heading"><h3 class="heading-element">options.onMatch</h3><a id="user-content-optionsonmatch" class="anchor" aria-label="Permalink: options.onMatch" href="#optionsonmatch"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-en">onMatch</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-kos">{</span> glob<span class="pl-kos">,</span> regex<span class="pl-kos">,</span> input<span class="pl-kos">,</span> output <span class="pl-kos">}</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-kos">{</span> input<span class="pl-kos">,</span> output <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">// { input: 'some\\path', output: 'some/path' }</span> <span class="pl-c">// { input: 'some\\path', output: 'some/path' }</span> <span class="pl-c">// { input: 'some\\path', output: 'some/path' }</span> <span class="pl-kos">}</span><span class="pl-kos">;</span> <span class="pl-k">const</span> <span class="pl-s1">isMatch</span> <span class="pl-c1">=</span> <span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">matcher</span><span class="pl-kos">(</span><span class="pl-s">'**'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> onMatch<span class="pl-kos">,</span> <span class="pl-c1">posixSlashes</span>: <span class="pl-c1">true</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'some\\path'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'some\\path'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'some\\path'</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div> <div class="markdown-heading"><h3 class="heading-element">options.onResult</h3><a id="user-content-optionsonresult" class="anchor" aria-label="Permalink: options.onResult" href="#optionsonresult"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <div class="highlight highlight-source-js"><pre><span class="pl-k">const</span> <span class="pl-en">onResult</span> <span class="pl-c1">=</span> <span class="pl-kos">(</span><span class="pl-kos">{</span> glob<span class="pl-kos">,</span> regex<span class="pl-kos">,</span> input<span class="pl-kos">,</span> output <span class="pl-kos">}</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">{</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-kos">{</span> glob<span class="pl-kos">,</span> regex<span class="pl-kos">,</span> input<span class="pl-kos">,</span> output <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-kos">}</span><span class="pl-kos">;</span> <span class="pl-k">const</span> <span class="pl-s1">isMatch</span> <span class="pl-c1">=</span> <span class="pl-en">micromatch</span><span class="pl-kos">(</span><span class="pl-s">'*'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> onResult<span class="pl-kos">,</span> <span class="pl-c1">ignore</span>: <span class="pl-s">'f*'</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'foo'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'bar'</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-s1">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'baz'</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div> <div class="markdown-heading"><h3 class="heading-element">options.posixSlashes</h3><a id="user-content-optionsposixslashes" class="anchor" aria-label="Permalink: options.posixSlashes" href="#optionsposixslashes"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Convert path separators on returned files to posix/unix-style forward slashes. Aliased as <code>unixify</code> for backwards compatibility.</p> <p><strong>Type</strong>: <code>Boolean</code></p> <p><strong>Default</strong>: <code>true</code> on windows, <code>false</code> everywhere else.</p> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">match</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'a\\b\\c'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s">'a/**'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['a/b/c']</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">match</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'a\\b\\c'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> <span class="pl-c1">posixSlashes</span>: <span class="pl-c1">false</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['a\\b\\c']</span></pre></div> <div class="markdown-heading"><h3 class="heading-element">options.unescape</h3><a id="user-content-optionsunescape" class="anchor" aria-label="Permalink: options.unescape" href="#optionsunescape"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Remove backslashes from escaped glob characters before creating the regular expression to perform matches.</p> <p><strong>Type</strong>: <code>Boolean</code></p> <p><strong>Default</strong>: <code>undefined</code></p> <p><strong>Example</strong></p> <p>In this example we want to match a literal <code>*</code>:</p> <div class="highlight highlight-source-js"><pre><span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">match</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'abc'</span><span class="pl-kos">,</span> <span class="pl-s">'a\\*c'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s">'a\\*c'</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['a\\*c']</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">match</span><span class="pl-kos">(</span><span class="pl-kos">[</span><span class="pl-s">'abc'</span><span class="pl-kos">,</span> <span class="pl-s">'a\\*c'</span><span class="pl-kos">]</span><span class="pl-kos">,</span> <span class="pl-s">'a\\*c'</span><span class="pl-kos">,</span> <span class="pl-kos">{</span> <span class="pl-c1">unescape</span>: <span class="pl-c1">true</span> <span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span> <span class="pl-c">//=&gt; ['a*c']</span></pre></div> <br> <br> <div class="markdown-heading"><h2 class="heading-element">Extended globbing</h2><a id="user-content-extended-globbing" class="anchor" aria-label="Permalink: Extended globbing" href="#extended-globbing"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Micromatch supports the following extended globbing features.</p> <div class="markdown-heading"><h3 class="heading-element">Extglobs</h3><a id="user-content-extglobs" class="anchor" aria-label="Permalink: Extglobs" href="#extglobs"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Extended globbing, as described by the bash man page:</p> <table> <thead> <tr> <th><strong>pattern</strong></th> <th><strong>regex equivalent</strong></th> <th><strong>description</strong></th> </tr> </thead> <tbody> <tr> <td><code>?(pattern)</code></td> <td><code>(pattern)?</code></td> <td>Matches zero or one occurrence of the given patterns</td> </tr> <tr> <td><code>*(pattern)</code></td> <td><code>(pattern)*</code></td> <td>Matches zero or more occurrences of the given patterns</td> </tr> <tr> <td><code>+(pattern)</code></td> <td><code>(pattern)+</code></td> <td>Matches one or more occurrences of the given patterns</td> </tr> <tr> <td><code>@(pattern)</code></td> <td> <code>(pattern)</code> <sup>*</sup> </td> <td>Matches one of the given patterns</td> </tr> <tr> <td><code>!(pattern)</code></td> <td>N/A (equivalent regex is much more complicated)</td> <td>Matches anything except one of the given patterns</td> </tr> </tbody> </table> <p><sup><strong>*</strong></sup> Note that <code>@</code> isn't a regex character.</p> <div class="markdown-heading"><h3 class="heading-element">Braces</h3><a id="user-content-braces-1" class="anchor" aria-label="Permalink: Braces" href="#braces-1"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Brace patterns can be used to match specific ranges or sets of characters.</p> <p><strong>Example</strong></p> <p>The pattern <code>{f,b}*/{1..3}/{b,q}*</code> would match any of following strings:</p> <pre><code>foo/1/bar foo/2/bar foo/3/bar baz/1/qux baz/2/qux baz/3/qux </code></pre> <p>Visit <a href="https://github.com/micromatch/braces">braces</a> to see the full range of features and options related to brace expansion, or to create brace matching or expansion related issues.</p> <div class="markdown-heading"><h3 class="heading-element">Regex character classes</h3><a id="user-content-regex-character-classes" class="anchor" aria-label="Permalink: Regex character classes" href="#regex-character-classes"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Given the list: <code>['a.js', 'b.js', 'c.js', 'd.js', 'E.js']</code>:</p> <ul> <li> <code>[ac].js</code>: matches both <code>a</code> and <code>c</code>, returning <code>['a.js', 'c.js']</code> </li> <li> <code>[b-d].js</code>: matches from <code>b</code> to <code>d</code>, returning <code>['b.js', 'c.js', 'd.js']</code> </li> <li> <code>a/[A-Z].js</code>: matches and uppercase letter, returning <code>['a/E.md']</code> </li> </ul> <p>Learn about <a href="http://www.regular-expressions.info/charclass.html" rel="nofollow">regex character classes</a>.</p> <div class="markdown-heading"><h3 class="heading-element">Regex groups</h3><a id="user-content-regex-groups" class="anchor" aria-label="Permalink: Regex groups" href="#regex-groups"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Given <code>['a.js', 'b.js', 'c.js', 'd.js', 'E.js']</code>:</p> <ul> <li> <code>(a|c).js</code>: would match either <code>a</code> or <code>c</code>, returning <code>['a.js', 'c.js']</code> </li> <li> <code>(b|d).js</code>: would match either <code>b</code> or <code>d</code>, returning <code>['b.js', 'd.js']</code> </li> <li> <code>(b|[A-Z]).js</code>: would match either <code>b</code> or an uppercase letter, returning <code>['b.js', 'E.js']</code> </li> </ul> <p>As with regex, parens can be nested, so patterns like <code>((a|b)|c)/b</code> will work. Although brace expansion might be friendlier to use, depending on preference.</p> <div class="markdown-heading"><h3 class="heading-element">POSIX bracket expressions</h3><a id="user-content-posix-bracket-expressions" class="anchor" aria-label="Permalink: POSIX bracket expressions" href="#posix-bracket-expressions"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>POSIX brackets are intended to be more user-friendly than regex character classes. This of course is in the eye of the beholder.</p> <p><strong>Example</strong></p> <div class="highlight highlight-source-js"><pre><span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'a1'</span><span class="pl-kos">,</span> <span class="pl-s">'[[:alpha:][:digit:]]'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">//=&gt; true</span> <span class="pl-smi">console</span><span class="pl-kos">.</span><span class="pl-en">log</span><span class="pl-kos">(</span><span class="pl-s1">micromatch</span><span class="pl-kos">.</span><span class="pl-en">isMatch</span><span class="pl-kos">(</span><span class="pl-s">'a1'</span><span class="pl-kos">,</span> <span class="pl-s">'[[:alpha:][:alpha:]]'</span><span class="pl-kos">)</span><span class="pl-kos">)</span> <span class="pl-c">//=&gt; false</span></pre></div> <hr> <div class="markdown-heading"><h2 class="heading-element">Notes</h2><a id="user-content-notes" class="anchor" aria-label="Permalink: Notes" href="#notes"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <div class="markdown-heading"><h3 class="heading-element">Bash 4.3 parity</h3><a id="user-content-bash-43-parity" class="anchor" aria-label="Permalink: Bash 4.3 parity" href="#bash-43-parity"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Whenever possible matching behavior is based on behavior Bash 4.3, which is mostly consistent with minimatch.</p> <p>However, it's suprising how many edge cases and rabbit holes there are with glob matching, and since there is no real glob specification, and micromatch is more accurate than both Bash and minimatch, there are cases where best-guesses were made for behavior. In a few cases where Bash had no answers, we used wildmatch (used by git) as a fallback.</p> <div class="markdown-heading"><h3 class="heading-element">Backslashes</h3><a id="user-content-backslashes" class="anchor" aria-label="Permalink: Backslashes" href="#backslashes"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>There is an important, notable difference between minimatch and micromatch <em>in regards to how backslashes are handled</em> in glob patterns.</p> <ul> <li>Micromatch exclusively and explicitly reserves backslashes for escaping characters in a glob pattern, even on windows, which is consistent with bash behavior. <em>More importantly, unescaping globs can result in unsafe regular expressions</em>.</li> <li>Minimatch converts all backslashes to forward slashes, which means you can't use backslashes to escape any characters in your glob patterns.</li> </ul> <p>We made this decision for micromatch for a couple of reasons:</p> <ul> <li>Consistency with bash conventions.</li> <li>Glob patterns are not filepaths. They are a type of <a href="https://en.wikipedia.org/wiki/Regular_language" rel="nofollow">regular language</a> that is converted to a JavaScript regular expression. Thus, when forward slashes are defined in a glob pattern, the resulting regular expression will match windows or POSIX path separators just fine.</li> </ul> <p><strong>A note about joining paths to globs</strong></p> <p>Note that when you pass something like <code>path.join('foo', '*')</code> to micromatch, you are creating a filepath and expecting it to still work as a glob pattern. This causes problems on windows, since the <code>path.sep</code> is <code>\\</code>.</p> <p>In other words, since <code>\\</code> is reserved as an escape character in globs, on windows <code>path.join('foo', '*')</code> would result in <code>foo\\*</code>, which tells micromatch to match <code>*</code> as a literal character. This is the same behavior as bash.</p> <p>To solve this, you might be inspired to do something like <code>'foo\\*'.replace(/\\/g, '/')</code>, but this causes another, potentially much more serious, problem.</p> <div class="markdown-heading"><h2 class="heading-element">Benchmarks</h2><a id="user-content-benchmarks" class="anchor" aria-label="Permalink: Benchmarks" href="#benchmarks"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <div class="markdown-heading"><h3 class="heading-element">Running benchmarks</h3><a id="user-content-running-benchmarks" class="anchor" aria-label="Permalink: Running benchmarks" href="#running-benchmarks"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Install dependencies for running benchmarks:</p> <div class="highlight highlight-source-shell"><pre>$ <span class="pl-c1">cd</span> bench <span class="pl-k">&amp;&amp;</span> npm install</pre></div> <p>Run the benchmarks:</p> <div class="highlight highlight-source-shell"><pre>$ npm run bench</pre></div> <div class="markdown-heading"><h3 class="heading-element">Latest results</h3><a id="user-content-latest-results" class="anchor" aria-label="Permalink: Latest results" href="#latest-results"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>As of August 23, 2024 (longer bars are better):</p> <div class="highlight highlight-source-shell"><pre><span class="pl-c"><span class="pl-c">#</span> .makeRe star</span> micromatch x 2,232,802 ops/sec ±2.34% (89 runs sampled)) minimatch x 781,018 ops/sec ±6.74% (92 runs sampled)) <span class="pl-c"><span class="pl-c">#</span> .makeRe star; dot=true</span> micromatch x 1,863,453 ops/sec ±0.74% (93 runs sampled) minimatch x 723,105 ops/sec ±0.75% (93 runs sampled) <span class="pl-c"><span class="pl-c">#</span> .makeRe globstar</span> micromatch x 1,624,179 ops/sec ±2.22% (91 runs sampled) minimatch x 1,117,230 ops/sec ±2.78% (86 runs sampled)) <span class="pl-c"><span class="pl-c">#</span> .makeRe globstars</span> micromatch x 1,658,642 ops/sec ±0.86% (92 runs sampled) minimatch x 741,224 ops/sec ±1.24% (89 runs sampled)) <span class="pl-c"><span class="pl-c">#</span> .makeRe with leading star</span> micromatch x 1,525,014 ops/sec ±1.63% (90 runs sampled) minimatch x 561,074 ops/sec ±3.07% (89 runs sampled) <span class="pl-c"><span class="pl-c">#</span> .makeRe - braces</span> micromatch x 172,478 ops/sec ±2.37% (78 runs sampled) minimatch x 96,087 ops/sec ±2.34% (88 runs sampled))) <span class="pl-c"><span class="pl-c">#</span> .makeRe braces - range (expanded)</span> micromatch x 26,973 ops/sec ±0.84% (89 runs sampled) minimatch x 3,023 ops/sec ±0.99% (90 runs sampled)) <span class="pl-c"><span class="pl-c">#</span> .makeRe braces - range (compiled)</span> micromatch x 152,892 ops/sec ±1.67% (83 runs sampled) minimatch x 992 ops/sec ±3.50% (89 runs sampled)d)) <span class="pl-c"><span class="pl-c">#</span> .makeRe braces - nested ranges (expanded)</span> micromatch x 15,816 ops/sec ±13.05% (80 runs sampled) minimatch x 2,953 ops/sec ±1.64% (91 runs sampled) <span class="pl-c"><span class="pl-c">#</span> .makeRe braces - nested ranges (compiled)</span> micromatch x 110,881 ops/sec ±1.85% (82 runs sampled) minimatch x 1,008 ops/sec ±1.51% (91 runs sampled) <span class="pl-c"><span class="pl-c">#</span> .makeRe braces - set (compiled)</span> micromatch x 134,930 ops/sec ±3.54% (63 runs sampled)) minimatch x 43,242 ops/sec ±0.60% (93 runs sampled) <span class="pl-c"><span class="pl-c">#</span> .makeRe braces - nested sets (compiled)</span> micromatch x 94,455 ops/sec ±1.74% (69 runs sampled)) minimatch x 27,720 ops/sec ±1.84% (93 runs sampled))</pre></div> <div class="markdown-heading"><h2 class="heading-element">Contributing</h2><a id="user-content-contributing" class="anchor" aria-label="Permalink: Contributing" href="#contributing"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>All contributions are welcome! Please read <a href="https://github.com/micromatch/micromatch/blob/HEAD/.github/contributing.md">the contributing guide</a> to get started.</p> <p><strong>Bug reports</strong></p> <p>Please create an issue if you encounter a bug or matching behavior that doesn't seem correct. If you find a matching-related issue, please:</p> <ul> <li> <a href="https://github.com/micromatch/micromatch/issues">research existing issues first</a> (open and closed)</li> <li>visit the <a href="https://www.gnu.org/software/bash/manual/" rel="nofollow">GNU Bash documentation</a> to see how Bash deals with the pattern</li> <li>visit the <a href="https://github.com/isaacs/minimatch">minimatch</a> documentation to cross-check expected behavior in node.js</li> <li>if all else fails, since there is no real specification for globs we will probably need to discuss expected behavior and decide how to resolve it. which means any detail you can provide to help with this discussion would be greatly appreciated.</li> </ul> <p><strong>Platform issues</strong></p> <p>It's important to us that micromatch work consistently on all platforms. If you encounter any platform-specific matching or path related issues, please let us know (pull requests are also greatly appreciated).</p> <div class="markdown-heading"><h2 class="heading-element">About</h2><a id="user-content-about" class="anchor" aria-label="Permalink: About" href="#about"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <details> <summary><strong>Contributing</strong></summary> <p>Pull requests and stars are always welcome. For bugs and feature requests, <a href="https://github.com/micromatch/micromatch/issues/new">please create an issue</a>.</p> <p>Please read the <a href="https://github.com/micromatch/micromatch/blob/HEAD/.github/contributing.md">contributing guide</a> for advice on opening issues, pull requests, and coding standards.</p> </details> <details> <summary><strong>Running Tests</strong></summary> <p>Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:</p> <div class="highlight highlight-source-shell"><pre>$ npm install <span class="pl-k">&amp;&amp;</span> npm <span class="pl-c1">test</span></pre></div> </details> <details> <summary><strong>Building docs</strong></summary> <p><em>(This project's readme.md is generated by <a href="https://github.com/verbose/verb-generate-readme">verb</a>, please don't edit the readme directly. Any changes to the readme must be made in the <a href="https://github.com/micromatch/micromatch/blob/HEAD/.verb.md">.verb.md</a> readme template.)</em></p> <p>To generate the readme, run the following command:</p> <div class="highlight highlight-source-shell"><pre>$ npm install -g verbose/verb#dev verb-generate-readme <span class="pl-k">&amp;&amp;</span> verb</pre></div> </details> <div class="markdown-heading"><h3 class="heading-element">Related projects</h3><a id="user-content-related-projects" class="anchor" aria-label="Permalink: Related projects" href="#related-projects"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>You might also be interested in these projects:</p> <ul> <li> <a href="https://www.npmjs.com/package/braces" rel="nofollow">braces</a>: Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support… <a href="https://github.com/micromatch/braces">more</a> | <a href="https://github.com/micromatch/braces" title="Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed.">homepage</a> </li> <li> <a href="https://www.npmjs.com/package/expand-brackets" rel="nofollow">expand-brackets</a>: Expand POSIX bracket expressions (character classes) in glob patterns. | <a href="https://github.com/micromatch/expand-brackets" title="Expand POSIX bracket expressions (character classes) in glob patterns.">homepage</a> </li> <li> <a href="https://www.npmjs.com/package/extglob" rel="nofollow">extglob</a>: Extended glob support for JavaScript. Adds (almost) the expressive power of regular expressions to glob… <a href="https://github.com/micromatch/extglob">more</a> | <a href="https://github.com/micromatch/extglob" title="Extended glob support for JavaScript. Adds (almost) the expressive power of regular expressions to glob patterns.">homepage</a> </li> <li> <a href="https://www.npmjs.com/package/fill-range" rel="nofollow">fill-range</a>: Fill in a range of numbers or letters, optionally passing an increment or <code>step</code> to… <a href="https://github.com/jonschlinkert/fill-range">more</a> | <a href="https://github.com/jonschlinkert/fill-range" title="Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex`">homepage</a> </li> <li> <a href="https://www.npmjs.com/package/nanomatch" rel="nofollow">nanomatch</a>: Fast, minimal glob matcher for node.js. Similar to micromatch, minimatch and multimatch, but complete Bash… <a href="https://github.com/micromatch/nanomatch">more</a> | <a href="https://github.com/micromatch/nanomatch" title="Fast, minimal glob matcher for node.js. Similar to micromatch, minimatch and multimatch, but complete Bash 4.3 wildcard support only (no support for exglobs, posix brackets or braces)">homepage</a> </li> </ul> <div class="markdown-heading"><h3 class="heading-element">Contributors</h3><a id="user-content-contributors" class="anchor" aria-label="Permalink: Contributors" href="#contributors"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <table> <thead> <tr> <th><strong>Commits</strong></th> <th><strong>Contributor</strong></th> </tr> </thead> <tbody> <tr> <td>523</td> <td><a href="https://github.com/jonschlinkert">jonschlinkert</a></td> </tr> <tr> <td>12</td> <td><a href="https://github.com/es128">es128</a></td> </tr> <tr> <td>9</td> <td><a href="https://github.com/danez">danez</a></td> </tr> <tr> <td>8</td> <td><a href="https://github.com/doowb">doowb</a></td> </tr> <tr> <td>6</td> <td><a href="https://github.com/paulmillr">paulmillr</a></td> </tr> <tr> <td>5</td> <td><a href="https://github.com/mrmlnc">mrmlnc</a></td> </tr> <tr> <td>3</td> <td><a href="https://github.com/DrPizza">DrPizza</a></td> </tr> <tr> <td>2</td> <td><a href="https://github.com/Tvrqvoise">Tvrqvoise</a></td> </tr> <tr> <td>2</td> <td><a href="https://github.com/antonyk">antonyk</a></td> </tr> <tr> <td>2</td> <td><a href="https://github.com/MartinKolarik">MartinKolarik</a></td> </tr> <tr> <td>2</td> <td><a href="https://github.com/Glazy">Glazy</a></td> </tr> <tr> <td>2</td> <td><a href="https://github.com/mceIdo">mceIdo</a></td> </tr> <tr> <td>2</td> <td><a href="https://github.com/TrySound">TrySound</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/yvele">yvele</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/wtgtybhertgeghgtwtg">wtgtybhertgeghgtwtg</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/simlu">simlu</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/curbengh">curbengh</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/fidian">fidian</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/tomByrer">tomByrer</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/ZoomerTedJackson">ZoomerTedJackson</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/styfle">styfle</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/sebdeckers">sebdeckers</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/muescha">muescha</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/juszczykjakub">juszczykjakub</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/joyceerhl">joyceerhl</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/donatj">donatj</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/frangio">frangio</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/UltCombo">UltCombo</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/DianeLooney">DianeLooney</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/devongovett">devongovett</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/Cslove">Cslove</a></td> </tr> <tr> <td>1</td> <td><a href="https://github.com/amilajack">amilajack</a></td> </tr> </tbody> </table> <div class="markdown-heading"><h3 class="heading-element">Author</h3><a id="user-content-author" class="anchor" aria-label="Permalink: Author" href="#author"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p><strong>Jon Schlinkert</strong></p> <ul> <li><a href="https://github.com/jonschlinkert">GitHub Profile</a></li> <li><a href="https://twitter.com/jonschlinkert" rel="nofollow">Twitter Profile</a></li> <li><a href="https://linkedin.com/in/jonschlinkert" rel="nofollow">LinkedIn Profile</a></li> </ul> <div class="markdown-heading"><h3 class="heading-element">License</h3><a id="user-content-license" class="anchor" aria-label="Permalink: License" href="#license"><span aria-hidden="true" class="octicon octicon-link"></span></a></div> <p>Copyright © 2024, <a href="https://github.com/jonschlinkert">Jon Schlinkert</a>. Released under the <a href="https://github.com/micromatch/micromatch/blob/HEAD/LICENSE">MIT License</a>.</p> <hr> <p><em>This file was generated by <a href="https://github.com/verbose/verb-generate-readme">verb-generate-readme</a>, v0.8.0, on August 23, 2024.</em></p> </div></article></div><div class="pv4"><h2 class="c7520c26">Readme</h2><h3 id="user-content-keywords" class="a0dff0b1 mt2 pt2 mb3 pb3 f4 fw6 b--black-10">Keywords</h3><ul class="list pl0"><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:bash">bash</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:bracket">bracket</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:character-class">character-class</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:expand">expand</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:expansion">expansion</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:expression">expression</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:extglob">extglob</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:extglobs">extglobs</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:file">file</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:files">files</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:filter">filter</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:find">find</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:glob">glob</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:globbing">globbing</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:globs">globs</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:globstar">globstar</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:lookahead">lookahead</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:lookaround">lookaround</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:lookbehind">lookbehind</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:match">match</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:matcher">matcher</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:matches">matches</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:matching">matching</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:micromatch">micromatch</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:minimatch">minimatch</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:multimatch">multimatch</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:negate">negate</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:negation">negation</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:path">path</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:pattern">pattern</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:patterns">patterns</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:posix">posix</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:regex">regex</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:regexp">regexp</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:regular">regular</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:shell">shell</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:star">star</a></li><li class="dib mr2"><a class="_75a5f581 f4 fw6 fl db pv1 ma1 black-70 link hover-black animate" href="/search?q=keywords:wildcard">wildcard</a></li></ul></div></section><section class="e22ba268 ph2 ph0-ns ml0-ns mr3-ns black-80" id="tabpanel-explore" aria-labelledby="package-tab-explore" role="tabpanel" data-attribute="hidden"></section><section class="e22ba268 ph2 ph0-ns ml0-ns mr3-ns black-80" id="tabpanel-admin" aria-labelledby="package-tab-admin" role="tabpanel" data-attribute="hidden"></section><section class="e22ba268 ph2 ph0-ns ml0-ns mr3-ns black-80" id="tabpanel-dependencies" aria-labelledby="package-tab-dependencies" role="tabpanel" data-attribute="hidden"></section><section class="e22ba268 ph2 ph0-ns ml0-ns mr3-ns black-80" id="tabpanel-dependents" aria-labelledby="package-tab-dependents" role="tabpanel" data-attribute="hidden"></section><div class="e22ba268 ph2 ph0-ns ml0-ns mr3-ns black-80" id="tabpanel-versions" aria-labelledby="package-tab-versions" role="tabpanel" data-attribute="hidden"></div></span><span aria-live="polite"></span></div><div class="fdbf4038 w-third-l mt3 w-100 ph3 ph4-m pv3 pv0-l"><h2 class="c7520c26">Package Sidebar</h2><h3 class="c84e15be f5 mt2 pt2 mb0">Install</h3><div class="d767adf4 lh-copy truncate ph0 mb3 black-80 b5be2af6 f6 flex flex-row"><svg viewBox="0 0 12.32 9.33" aria-hidden="true"><g><line class="st1" x1="7.6" y1="8.9" x2="7.6" y2="6.9"></line><rect width="1.9" height="1.9"></rect><rect x="1.9" y="1.9" width="1.9" height="1.9"></rect><rect x="3.7" y="3.7" width="1.9" height="1.9"></rect><rect x="1.9" y="5.6" width="1.9" height="1.9"></rect><rect y="7.5" width="1.9" height="1.9"></rect></g></svg><p class="flex-auto truncate db ma0"><code>npm i <!-- -->micromatch</code><button class="fbd04dd1" type="button" aria-label="Copy install command line"><svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="copy" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z" fill="#808080"></path></svg></button></p></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2 w-100"><h3 id="repository" class="c84e15be f5 mt2 pt2 mb0">Repository</h3><p class="_40aff104 fw6 mb3 mt2 truncate black-80 f5"><a aria-labelledby="repository repository-link" class="b2812e30 f2874b88 fw6 mb3 mt2 truncate black-80 f4 no-underline pr1" href="https://github.com/micromatch/micromatch" target="_blank" rel="noopener noreferrer nofollow"><span class="_513426a8 dib v-mid"><svg width="16" height="16" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><title>Git</title><g fill="#0A0B09" fill-rule="nonzero"><path d="M15.6981994,7.28744895 L8.71251571,0.3018063 C8.3102891,-0.1006021 7.65784619,-0.1006021 7.25527133,0.3018063 L5.80464367,1.75263572 L7.64478689,3.59281398 C8.07243561,3.44828825 8.56276901,3.5452772 8.90352982,3.88604451 C9.24638012,4.22907547 9.34249661,4.72359725 9.19431703,5.15282127 L10.9679448,6.92630874 C11.3971607,6.77830046 11.8918472,6.8738964 12.2346975,7.21727561 C12.7135387,7.69595181 12.7135387,8.47203759 12.2346975,8.95106204 C11.755508,9.43026062 10.9796112,9.43026062 10.5002476,8.95106204 C10.140159,8.59061834 10.0510075,8.06127108 10.2336636,7.61759448 L8.57948492,5.9635584 L8.57948492,10.3160467 C8.69614805,10.3738569 8.80636859,10.4509954 8.90352982,10.5479843 C9.38237103,11.0268347 9.38237103,11.8027463 8.90352982,12.2822931 C8.42468862,12.7609693 7.64826937,12.7609693 7.16977641,12.2822931 C6.69093521,11.8027463 6.69093521,11.0268347 7.16977641,10.5479843 C7.28818078,10.4297518 7.42521643,10.3402504 7.57148065,10.2803505 L7.57148065,5.88746473 C7.42521643,5.82773904 7.28852903,5.73893407 7.16977641,5.62000506 C6.80707597,5.25747183 6.71983981,4.72499027 6.90597844,4.27957241 L5.09195384,2.465165 L0.301800552,7.25506126 C-0.100600184,7.65781791 -0.100600184,8.31027324 0.301800552,8.71268164 L7.28783254,15.6983243 C7.69005915,16.1005586 8.34232793,16.1005586 8.74507691,15.6983243 L15.6981994,8.74506934 C16.1006002,8.34266094 16.1006002,7.68968322 15.6981994,7.28744895" id="Path"></path></g></svg></span><span id="repository-link">github.com/micromatch/micromatch</span></a></p></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2 w-100"><h3 id="homePage" class="c84e15be f5 mt2 pt2 mb0">Homepage</h3><p class="_40aff104 fw6 mb3 mt2 truncate black-80 f5"><a aria-labelledby="homePage homePage-link" class="b2812e30 f2874b88 fw6 mb3 mt2 truncate black-80 f4 no-underline pr1" rel="noopener noreferrer nofollow" href="https://github.com/micromatch/micromatch"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="link" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"></path></svg><span id="homePage-link">github.com/micromatch/micromatch</span></a></p></div><div><div class="_702d723c dib w-50 fl bb b--black-10 pr2 w-100" role="button" tabindex="0" aria-label="Showing weekly downloads"><h3 class="c84e15be f5 mt2 pt2 mb0 _5cfc0900"><svg viewBox="0 0 7.22 11.76" aria-hidden="true"><title>Downloads</title><g><polygon points="4.59 4.94 4.59 0 2.62 0 2.62 4.94 0 4.94 3.28 9.53 7.22 4.94 4.59 4.94" aria-label="Downloads icon"></polygon><rect x="0.11" y="10.76" width="7" height="1"></rect></g></svg>Weekly Downloads</h3><div class="_000ae427 flex flex-row-reverse items-end"><svg class="_418c4939 flex-none" width="200" height="40" stroke-width="3" stroke="#8956FF" fill="rgba(137, 86, 255, .2)" aria-hidden="true"></svg><p class="_9ba9a726 f4 tl flex-auto fw6 black-80 ma0 pr2 pb1">75,411,739</p></div></div></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2"><h3 class="c84e15be f5 mt2 pt2 mb0">Version</h3><div class="abe380b3 flex flex-row items-center"><p class="f2874b88 fw6 mb3 mt2 truncate black-80 f4">4.0.8</p></div></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2"><h3 class="c84e15be f5 mt2 pt2 mb0">License</h3><p class="f2874b88 fw6 mb3 mt2 truncate black-80 f4">MIT</p></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2"><h3 class="c84e15be f5 mt2 pt2 mb0">Unpacked Size</h3><p class="f2874b88 fw6 mb3 mt2 truncate black-80 f4">56.6 kB</p></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2"><h3 class="c84e15be f5 mt2 pt2 mb0">Total Files</h3><p class="f2874b88 fw6 mb3 mt2 truncate black-80 f4">4</p></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2 w-100"><h3 class="c84e15be f5 mt2 pt2 mb0">Last publish</h3><p class="f2874b88 fw6 mb3 mt2 truncate black-80 f4"><time dateTime="2024-08-23T16:31:18.748Z" title="8/23/2024, 4:31:18 PM">6 months ago</time></p></div><div class="_702d723c dib w-50 fl bb b--black-10 pr2 bb-0 w-100"><h3 id="collaborators" class="c84e15be f5 mt2 pt2 mb0">Collaborators</h3><ul aria-labelledby="collaborators" class="list pl0 cf"><li class="_426b8533 fl dib mr2 mb2"><div><a href="/~jonschlinkert"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80MGVmNTE0ZjlmYmU2N2JjYTFiYThmYThkNTM5YTgyNj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.xKUcpNvd5tgP61-KE4xo4PgIGHMO4ziOqZGWPzmMOK0" style="width:42px;height:42px;min-width:42px;border-radius:4%" alt="jonschlinkert" title="jonschlinkert"/></a></div></li><li class="_426b8533 fl dib mr2 mb2"><div><a href="/~doowb"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8xMjJjNTgwZjc0MzM1OTc5ZjM2NzExYjY5ZGVkYTVhZj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.xlOIf8wDZu3CUQfxXnnMdQcC31hNjlFH8p2_ybkAjYo" style="width:42px;height:42px;min-width:42px;border-radius:4%" alt="doowb" title="doowb"/></a></div></li><li class="_426b8533 fl dib mr2 mb2"><div><a href="/~danez"><img src="/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mNWVlMjhkYjU4ZGVjODZmZWMzYTBiMzgxZDFkMDRiYT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.F2-9SxNRkV8rnt6bG9lXtziccO_vW2363t4-jMHAv-I" style="width:42px;height:42px;min-width:42px;border-radius:4%" alt="danez" title="danez"/></a></div></li></ul></div><div class="w-100"><a class="c37751f6 _24a1e9c7 dab9924c br2 pv2 ph3 fw5 f5 tc button button-reset pointer ma2 truncate ml0 no-underline mt2 dib w-100" rel="noopener noreferrer nofollow" href="https://runkit.com/npm/micromatch"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="terminal" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z"></path></svg><strong>Try</strong> on RunKit</a></div><div class="_33c89934 w-100"><a class="_4a3f8f21 _24a1e9c7 dab9924c br2 pv2 ph3 fw5 f5 tc button button-reset pointer ma2 truncate ml0 no-underline mt2 dib w-100" href="/support?inquire=security&amp;security-inquire=malware&amp;package=micromatch&amp;version=4.0.8"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="flag" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z"></path></svg><strong>Report</strong> malware</a></div></div></div> </main><footer class="cd2827bb bt b--black-10 mt4"><h2 class="e13b5dae">Footer</h2><div id="footer" class="center mw9 pa3 flex flex-column flex-wrap-m flex-row-ns"><div class="flex-auto pa4-ns pa3 w-100 w-10-l"><div class="_802b5507 pt3"><a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com/npm" aria-label="Visit npm GitHub page"><svg viewBox="0 0 27.23 27.23" aria-hidden="true"><rect fill="#333333" width="27.23" height="27.23" rx="2"></rect><polygon fill="#fff" points="5.8 21.75 13.66 21.75 13.67 9.98 17.59 9.98 17.58 21.76 21.51 21.76 21.52 6.06 5.82 6.04 5.8 21.75"></polygon></svg></a></div><div class="_802b5507 pt3"><a target="_blank" rel="noopener noreferrer nofollow" href="https://github.com" aria-label="GitHub"><svg aria-hidden="true" focusable="false" class="" viewBox="0 0 24 24" width="50" height="50" fill="black" style="display:inline-block;user-select:none;vertical-align:top;overflow:visible"><path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path></svg></a></div></div><div class="flex-auto pa4-ns pa3 w-30-ns w-50-m"><h3 id="support" class="_1b8c0a9f">Support</h3><ul class="list pl0" aria-labelledby="support"><li class="pv1"><a class="df995acb no-underline pr1" href="https://docs.npmjs.com">Help</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="https://github.com/advisories">Advisories</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="http://status.npmjs.org/">Status</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/support">Contact npm</a></li></ul></div><div class="flex-auto pa4-ns pa3 w-30-ns w-50-m"><h3 id="company" class="_1b8c0a9f">Company</h3><ul class="list pl0" aria-labelledby="company"><li class="pv1"><a class="df995acb no-underline pr1" href="/about">About</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="https://github.blog/tag/npm/">Blog</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/press">Press</a></li></ul></div><div class="flex-auto pa4-ns pa3 w-30-ns w-50-m"><h3 id="terms" class="_1b8c0a9f">Terms &amp; Policies</h3><ul class="list pl0" aria-labelledby="terms"><li class="pv1"><a class="df995acb no-underline pr1" href="/policies/">Policies</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/policies/terms">Terms of Use</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/policies/conduct">Code of Conduct</a></li><li class="pv1"><a class="df995acb no-underline pr1" href="/policies/privacy">Privacy</a></li></ul></div></div></footer></div><div class="_8a62ca63 fixed top-0 left-0 z-999" style="opacity:0;transform:scaleX(1);-webkit-transform:scaleX(1);-moz-transform:scaleX(1)"></div></div></div><script integrity="sha512-x3bgHXTItiv7jjyOqkRnhYiv+thLlAlVn71z0StkkwZgKqrE5DqVVSYe8SGLbSNXPo1VKNuT1YB8mzjXK/onNQ==">window.__context__ = {"context":{"notifications":[],"csrftoken":"Lh4omIbXQEEQgr1EfC7nafbG7W5WsN4IxyGxZmaSlTr","userEmailVerified":null,"auditLogEnabled":false,"user":null,"documentContext":{"readme.data":"readme"},"undefined":true,"readme":{"ref":"readme","data":null},"versionsDownloads":{"3.1.9":9499,"3.1.6":325,"1.4.3":9,"4.0.5":15046548,"1.3.1":19,"1.3.3":8,"3.0.3":217,"2.3.7":569,"3.0.5":27,"0.2.1":8,"2.3.5":1986,"1.2.2":21,"4.0.4":2691179,"3.1.0":230723,"2.3.3":9,"2.3.0":30,"3.0.2":9,"3.1.2":7,"2.3.10":47,"3.1.7":7,"3.1.1":6,"1.0.0":8,"1.2.0":18,"2.1.6":95,"2.3.6":8,"1.4.5":7,"2.3.2":12,"1.6.0":5,"0.1.0":4,"3.1.5":10469,"3.1.4":1634,"2.2.0":83,"1.5.0":6,"3.1.3":98,"4.0.2":1856082,"1.3.2":8,"0.2.0":6,"1.4.2":8,"2.1.0":4,"4.0.7":3458445,"4.0.0":18,"3.1.8":1431,"0.2.2":5,"1.6.2":1168,"2.3.4":8,"2.3.8":2106,"1.0.1":6,"1.4.4":4,"2.1.3":10,"2.3.1":4,"4.0.3":2092,"3.1.10":14995099,"4.0.1":946,"1.3.0":21,"1.6.1":4,"4.0.6":58741,"2.1.5":25,"3.0.1":12,"2.3.9":531,"4.0.8":34857492,"3.0.0":603,"2.0.0":9,"1.4.1":6,"2.3.11":2182812,"3.0.4":309,"1.4.0":7,"2.1.1":6,"2.1.4":6,"2.1.2":5},"starAction":"/package/micromatch/star","provenance":{"enabled":false,"feedbackUrl":" https://github.com/npm/feedback"},"isSecurityPlaceholder":false,"private":false,"devDeps":["gulp-format-md","fill-range","minimatch","mocha"],"deps":["braces","picomatch"],"packument":{"author":{"name":"Jon Schlinkert","avatars":{}},"description":"Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch.","homepage":"https://github.com/micromatch/micromatch","repository":"https://github.com/micromatch/micromatch","distTags":{"latest":"4.0.8"},"keywords":["bash","bracket","character-class","expand","expansion","expression","extglob","extglobs","file","files","filter","find","glob","globbing","globs","globstar","lookahead","lookaround","lookbehind","match","matcher","matches","matching","micromatch","minimatch","multimatch","negate","negation","path","pattern","patterns","posix","regex","regexp","regular","shell","star","wildcard"],"maintainers":[{"name":"jonschlinkert","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80MGVmNTE0ZjlmYmU2N2JjYTFiYThmYThkNTM5YTgyNj9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.DIAkohO25VVwKusUkbvrXpxDeXfTA6c0mY73__8Zmi0","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80MGVmNTE0ZjlmYmU2N2JjYTFiYThmYThkNTM5YTgyNj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.xKUcpNvd5tgP61-KE4xo4PgIGHMO4ziOqZGWPzmMOK0","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80MGVmNTE0ZjlmYmU2N2JjYTFiYThmYThkNTM5YTgyNj9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.IqcEqu9J8dL5WlYr_BpJrC9-WPQRzAZs3pYtONeU900"}},{"name":"doowb","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8xMjJjNTgwZjc0MzM1OTc5ZjM2NzExYjY5ZGVkYTVhZj9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.qTw-XGUwdezaF1TrzcZ-DrfSmvjcX_b5481NS5ANWDs","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8xMjJjNTgwZjc0MzM1OTc5ZjM2NzExYjY5ZGVkYTVhZj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.xlOIf8wDZu3CUQfxXnnMdQcC31hNjlFH8p2_ybkAjYo","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8xMjJjNTgwZjc0MzM1OTc5ZjM2NzExYjY5ZGVkYTVhZj9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.byAefUBakCTgnDURNaW6jZlzLqda5zQA8ZShAgNJ9FQ"}},{"name":"danez","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mNWVlMjhkYjU4ZGVjODZmZWMzYTBiMzgxZDFkMDRiYT9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.2PWM3Al_yx1MIURNEqqpn9l_0uXPE_YNg_ixgEtA8-Q","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mNWVlMjhkYjU4ZGVjODZmZWMzYTBiMzgxZDFkMDRiYT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.F2-9SxNRkV8rnt6bG9lXtziccO_vW2363t4-jMHAv-I","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mNWVlMjhkYjU4ZGVjODZmZWMzYTBiMzgxZDFkMDRiYT9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.raGBZpLCZ_D2CaraDbrwPlXSSGdkLL0gY1w0lFbztOM"}}],"name":"micromatch","license":"MIT","version":"4.0.8","versions":[{"version":"4.0.8","date":{"ts":1724430678748,"rel":"6 months ago"},"dist":{"shasum":"d66fa18f3a47076789320b9b1af32bd86d9fa202","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz","fileCount":4,"integrity":"sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==","signatures":[{"sig":"MEUCIQCbM5vTauiWZIyEboHJF/YXuneSxEyEJ+2VHaEdyLD4zQIgU0seoGyOpfB4e80kPjxYidBvIgonDpZpZzNN8w25BUU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56599}},{"version":"4.0.7","date":{"ts":1716352429109,"rel":"9 months ago"},"dist":{"shasum":"33e8190d9fe474a9895525f5618eee136d46c2e5","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz","fileCount":4,"integrity":"sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==","signatures":[{"sig":"MEUCIQCoqmLDH3dRKVCJvEJ3ReCeqMKCKVg7rGGyiumTxoU3SQIgEDFoR6C5ze70X6ZhoFpQsadAVMROyLvvy0GYhBM2QNc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":56265}},{"version":"4.0.6","date":{"ts":1716282939179,"rel":"9 months ago"},"dist":{"shasum":"ab4e37c42726b9cd788181ba4a2a4fead8e394a3","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-4.0.6.tgz","fileCount":4,"integrity":"sha512-Y4Ypn3oujJYxJcMacVgcs92wofTHxp9FzfDpQON4msDefoC0lb3ETvQLOdLcbhSwU1bz8HrL/1sygfBIHudrkQ==","signatures":[{"sig":"MEUCIQCbYyO7EgwmokmY6Vs+PiniiJAHS7rpu7RijTE8hhOBXgIgSp95sJVjqMVu8e9W3JwuS4Q2uvqAIqeLKQZrG2OUQlE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57044}},{"version":"4.0.5","date":{"ts":1648150307722,"rel":"3 years ago"},"dist":{"shasum":"bc8999a7cbbf77cdc89f132f6e467051b49090c6","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz","fileCount":4,"integrity":"sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==","signatures":[{"sig":"MEUCIQDMlu9ADvGDYCdgefb3WrC+hs7KxtMOM9aYsev2uDY48AIgAu/o5IQA/odSPqSKWXPeuw7mx4VfBHkCxGcEIlxO1S0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55947,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiPMcjACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp1vBAAloppMNdWgbswe+RXiqrcsSpra8OFTxbwOOd8l0+tydhwJ8yS\r\n9tANTGLGX8w14fAdSV8IebVjjq1QNWQLlH0ofpRb4TOAYBclFkx4WMPp8s9T\r\n+vUC4fZyJsAd3QzfuWGMcUya9h8AX/S4Np3wwGnkQfg0eqpjxtkUNNyjJ0wi\r\nZeogQsi4SajN4SaJMs6Uef4PqJiyhLYyZVFMMPfXKtFud2q6hlp6LW+/v3k4\r\nV/T31dRooeUuCwADQSynf0Y05Zf9I6aEBk0FuDty6HtWf9pYZrFKGCK9JVBT\r\namijpFImSgxjL1zkytZ+p8d/+L0+IImCBVyhqH7MBEgO7IkVrjo6nMiJU/+A\r\nnh9AeYFZ0Hv0hAUZEtG+f8bKZ7egl3odWFOB9zH6+hfuJe2TwPIGGnQZAUK0\r\n+7n5i5SKsjwbAkpeIgm/1bgqW6QBPHnfGgTF9PyUgn6Hko8/688z2sfmiwbb\r\n7sZckXtWTo/vZ2K/364k19Vr4FI+HIp4BndAk2TA/zxfij99Pfu/I0c8fthV\r\nJq5AEgYu9HFWz7nFHRMHLQF0Y5cQwtMrWOy990USCEYyaQNjkJIL6oVZvNHS\r\nx+WUEmpVBB9BjtxH/ADQ8SAspnEFIs4/8mEOrsp49rF4joloFAMNXfKeSKWv\r\n8GCopBneL1eOO6NG/cXZ/M41/o9lUxbVBrQ=\r\n=lDr1\r\n-----END PGP SIGNATURE-----\r\n"}},{"version":"4.0.4","date":{"ts":1618054718918,"rel":"4 years ago"},"dist":{"shasum":"896d519dfe9db25fce94ceb7a500919bf881ebf9","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz","fileCount":5,"integrity":"sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==","signatures":[{"sig":"MEUCIBiTPFiWkxkgth1Ur4hsZLlgNSwQZVdZ92O74GcPd2gvAiEAhdkBvbSxJdbA/pZrTLkUsTcc62lEv/YVQu3c/+BDn2k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61526,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcY4/CRA9TVsSAnZWagAA1BYQAIteJIuhbmNS9RzGRM6R\n78wakYXfLd9YHjaKU9UwW2xoPFn0OoIIKodcHHDOOfWGHe96rDOIYqvNFo+S\n3cidwhFh7EePKlyL9EpPKCGXaG2JuCeJ3nB76kCt2m4+1AOh/+oDiwBT5wNe\nS1mirQzU+GAyEVRgQHRKWn/VBvtjG4aG4teKhIuAr4ZgJh7hMUy1cJY1pBd1\nORGU0ytLPHsA6C60QHclvV3J5Rser+DtcueoEzHhykrr/5EGVa0A77gW1kz5\naYn0d8Vx0s8Y2LiPOnL2i4s42Z2U7RT3VjivYIxtD3yakB+fkXIghEDxC66D\nTgOvEyBhueXfHhcpS3Rg6rZQXw/fbGwAckgHSTmfck7zmVxs6x8n5RWJzmlP\nWAv343VYqFMHd2m11XL1KKQ1I6mtda+UwpiYrOHr1DeEqe3LaFlFNDVc8qQO\nfCfviEcGdv7T9iBbSYoNlY9qwoku9wDwCXtZ1lZsPhc4xeMmdveXq/uOTv2r\nxCDsWsoRcIXJfKJYjbYChCwpTDs/EabXIHwWyKPFz0FDhGN7qGLLOB7zQIYP\n9lOlRIv6xRZQH7+4NMkfyKBy6e1HncM3JE0oy7SAPE4sfkgfDnUiPYadUL9w\nS6+wf19JBYVYJzqrwgyLc1iQ3rdWc8DKb8IDimJYFToznbnriqo5p2+ZbNqE\nb3Gm\r\n=/5bc\r\n-----END PGP SIGNATURE-----\r\n"}},{"version":"4.0.3","date":{"ts":1617993382117,"rel":"4 years ago"},"dist":{"shasum":"fdad8352bf0cbeb89b391b5d244bc22ff3dd4ec8","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-4.0.3.tgz","fileCount":5,"integrity":"sha512-ueuSaP4i67F/FAUac9zzZ0Dz/5KeKDkITYIS/k4fps+9qeh1SkeH6gbljcqz97mNBOsaWZ+iv2UobMKK/yD+aw==","signatures":[{"sig":"MEYCIQD+I18D/0/eRPwauREFlC4jqnNxgOjstANBkRlVHV5rqgIhAOGNYPv4wEVe9x0z7r32EzNtuNGrxVqStPiaOyEb7znM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61070,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgcJ6mCRA9TVsSAnZWagAAyWYP/32yylOWx10uzcBcYU9F\noQMI0YR2Xj7odh/2EQLukgzKILkjyYzib1P1fldyjkoUOah33tkb+2fZeHC8\nePBOU+ofhhFpLNzxt6radc7yiPL5JVNBarCA+9fdciyP4Ztvi9ctjU49fFCS\niLWSv+Et1AgSRnjZORoNwet7XNLnP1Y406KqJWfWLom7ribwLHoyy8Bpn21N\nqI4FNXVgLsuJLmFYcmQ3cIVgnWdf6rCzWW6MhrGW8tn7CoYaPUmyc6ErRtBQ\ns13MXxi/xSNZFEnegEZT+LubNq6Yj2oPYzKW/lyO6YooYbLtrmj60Fz+6/wd\nm/I1hfdefMHbeZZKYL/aHHUAtyBv0td/YJoB9OJoagCTwZZgiWaKpvRMOwqR\nmx58sVvN4XymluXnNtl9VLI8gR84iyCQUBBKgwTVR62d9fbCqhD/op2CULxt\ni9FkG4iBIxG3ZNZVCpl9Pt0v5zIBLaT7ZeaK5L3ElUMx1mDc+lesVDDSVSVx\nCCPLI3Nv5opASPH/rzHcpq6Sjm+AmadzWKxD+A/VLgsjcV3py+fFBRnr4fKV\nmkQV+dDCckawbPh94hWgews64g2KIVMZknFzqAtrNWxrcGxUHy5nD6uFR2Zu\nz8UqH3Ey+4eBF9OYJdwwmEEVU7M6VLbKix2MMXEv1fjhlz2dCJayj0TljaR4\nOS70\r\n=h3Ju\r\n-----END PGP SIGNATURE-----\r\n"}},{"version":"4.0.2","date":{"ts":1555775057473,"rel":"6 years ago"},"dist":{"shasum":"4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz","fileCount":5,"integrity":"sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==","signatures":[{"sig":"MEUCIGnf+QkvkGb3nS89NKrdP+irw3EvZmC8I3aEGLArgC8pAiEAtzJB+K98yi4GYnE9tAbutn6SiXqtwtvUtArcPqnz/wE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcuz5SCRA9TVsSAnZWagAAdtEP/2PjcydeP1zQ8zsCdqIP\ndJHWFH5DgLB/etZdmB9chTBrY2Ns7eSI8wv/Am3S0z3K78xE5ncjXu0RXN/D\n9O1ojsBWsY/tZhMDZ5Gj9rPCpHB5jj44ch4KTlfSQ/aWbKk7pDB8nP5yZkZa\nQYsZvJd/igGO6EI5b7Jfw/OvO2X21MYdVd2LfdLYsTjsdIJ0/D0leYkvfC1R\nWtFlmicwbskUedFyCxhizVIkKhhqYgIKQbeeOyCbmU7U+yoaGd4PXkKiwqkm\nKreiRsy8tLLEcrdZKwMsrM+HC8JwhNcs4WuhaGEYU85aPaESs1XRJ5Nwryac\nb7KiZc82/T/D+1bjZdmi85imDh8gJGlJfzusnFcFHQZ45Y7GJn5ARkVhkcWs\nfHBEYYaAqzjdVcotzS0UAx984/XWllu35HqCj9FGsLMolFFHSOCIkKW6P9at\n1xImdNKCo5Q7cP1ckUS1cRJ0p7glmGz1F2H20fKB+zNl50awIv4VXQOkOWQA\nCecaTn36GGQ1LUe9jJRjJ8rCyfhKkSzOVlHpHDmdOYdZ4Z5LCKOWxZamAMk/\nWffyYGSnfS5oYuyv4+dT/IS/smLa4j92PIicXghcDeIj/9KG+bytehmHM8Qz\njyCvu8NLoHDrQvOLtyaJKwxRRE7jLa00a83Ond77/8swqDbFP4LnF8pZzQod\n/UAK\r\n=zQak\r\n-----END PGP SIGNATURE-----\r\n"}},{"version":"4.0.1","date":{"ts":1554913633748,"rel":"6 years ago"},"dist":{"shasum":"1bebd1a6e8dd8cff4669f3a687bdad62fb18571e","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-4.0.1.tgz","fileCount":5,"integrity":"sha512-6yawNHAc4S9Dh81xZCkZ5sXKH0/ly0t1DiOc+rnqzi0OvwS4DgRZU+HYTNDIgULgZXTNw5N8Vhxh2va8nEO6BA==","signatures":[{"sig":"MEQCIGRbsJVQGWegHhEUMDcpjKmVeHvvVJ5qRxVxXYA+mPUgAiBxBHCJCj655l8LrStyDwKnvW+L9ExCbWOVKXcmMVRaMg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60935,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrhliCRA9TVsSAnZWagAAqKwP/00itZNKIjobjQSjWOIU\neLDx6eB9KNmhlkVKloBKta1azT+dpfHFdkF2uUvt+0oFXOt5rIj9mF6zD5Cz\nvrQR2+nTZvWnYsDya3Enge/B9+g0G5GtOGuRHD2KdUeVx92g83+RzF2I/EYx\nbs9YYIOV1/X7bx1VnnbLgce6tTP4ZgCxXyj7wAGAX2b+YqbNs6gki1eQpwFw\n/Gq1vrg+sVYr2bj+P6oZ1LWW8lKBIqfL2AtfE+UF4WFAoIuir/CYRqyczKc3\nm4PK61kPJkoRDXcqFsdwJlcAS1p2DrV6J7cYIzklIBHpdaDFRRDLVScu3Pc3\nlwjRjLNk2QO5speTIX7Vvq4pNMYdsytp7Puwv6hORnCR7qRnOFg6FPVXp+2O\n9s3x0CkHt+8HnBheKSxAb4IdEyyymYBWfJf9sq8qQCZY28bRJ9kzPOT58LPm\nas1ZG/SbBL6+pV1VMQmw8sC8fgyFYSPDWRcGDoCkIaHpfnYbYe94F7DPDcr9\nC7IjpKjq+myuQZYwCeB1CZ2/7AmnOM8Prm/o1nqHi5fPB1JBh4IGlQRaYTYX\nq3em8Io2ShysO+kFjLwdoado2CoIwWuNik2W+76tvI2sOoQhbAi+vyzEtGwJ\npefMpRrH/YVSGo9lZVsSksSV9o0lboslHM8ee7a1SzFh41cpwKg7/mPOMPpn\noymU\r\n=bDk9\r\n-----END PGP SIGNATURE-----\r\n"}},{"version":"4.0.0","date":{"ts":1554900756474,"rel":"6 years ago"},"dist":{"shasum":"3d9e7a815fabfb009a10fa5adc268242c6d6088e","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-4.0.0.tgz","fileCount":5,"integrity":"sha512-THzpRAtp/NcyqnAzYwvP9V1bMAM4zFs2AR02wwxNLzEbi6Mn2suaQ6lhiD8Ug+X3L3g9grohOe1NGb2m+72eeA==","signatures":[{"sig":"MEUCIG8Nv2u2v5npz0fskWd8wdUjHxcxhvN4vW0D1nOESCuiAiEAksGXoWEYSjabpNhcDW4S6GGscTEzXIqGjrppFQkWBHE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60867,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrecVCRA9TVsSAnZWagAAJ6QP/RpXqLXDqtzJnJEDwB6y\npMzgcaBqWbIwCfuZpAywyekDFtWYD5PyObgwyWAUupCAw8fqqUiWTIzBZJ/s\nrHklis7ox/angLUFrfTQGEU71THjY3eR2rTHtLJOEwlE5Q3LcHv+39nCfJru\nuiNH19sdV2QJGLdvBRJ7AmvHn7iTi/DrblTAXxtVr/crzu2NHrIYIj3gdwfK\n2swdZB2XC7tyWEOGp/ldBVMZXscbiK0yI5N/J2X9UwY0WBLJorg0uAX1Cnxw\n/HuwEbuRI8yTBvd46JQ7o0QOYCgUaUz2+4Cy4dvkoY3ElGAw/JkcotMi8I5e\nxXRZZCjPn4VfF2hOBxNy0EPhX5rnG9OhrU9kF6TQNuQRWlyFsRV7TwvNBb/1\nVtr5UHozdVmsjRZm/RpuVT498AnVTTCS0YgQZoGXoixKfAbM1UTGmT9+DTOq\nrsir0Dq2zEdwKGdZdi5qFVkYzvtVihVOxA90wozkz0K4UI0qVIURX3p6rkAO\nAyH+C/KbTX7oeckmaczGl/ph4yQLNTySnhls9fMWQlsiw/o5jeBmtO1fR8Ks\nonetBTOjtP5m2ZSx0R06WBNfNHYSD8SMHOYRVVoUTf7tYnA+zFoiPE/fVOsO\nDqVb8hg/ufy+JGmz7ait0hlOIFDNsaQGd/2UXoQ/8gwHvkMF5nxb9iCbeKnE\nwoZy\r\n=oCfg\r\n-----END PGP SIGNATURE-----\r\n"}},{"version":"3.1.10","date":{"ts":1521747889213,"rel":"7 years ago"},"dist":{"shasum":"70859bc95c9840952f359a068a3fc49f9ecfac23","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz","fileCount":10,"integrity":"sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==","signatures":[{"sig":"MEQCIGeoxg8qcC+sShxYOjexCAJiJus+IviDFBpP9KD1PG1TAiBTg4Mnf6Mfhk0LjN93oRFEatuLRM5D8lf87pELil9YXg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84811}},{"version":"3.1.9","date":{"ts":1519458972525,"rel":"7 years ago"},"dist":{"shasum":"15dc93175ae39e52e93087847096effc73efcf89","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.1.9.tgz","fileCount":10,"integrity":"sha512-SlIz6sv5UPaAVVFRKodKjCg48EbNoIhgetzfK/Cy0v5U52Z6zB136M8tp0UC9jM53LYbmIRihJszvvqpKkfm9g==","signatures":[{"sig":"MEQCIBKxgqIJnynUH8Zr3Pwt+JDZFnPf6ZW35KdvNRG4otNiAiB1bpciOpGUtMJ8rutbn8xPZR3Xgqb5RAu3ykamKiYTxg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84810}},{"version":"3.1.8","date":{"ts":1519157403294,"rel":"7 years ago"},"dist":{"shasum":"5c8caa008de588eebb395e8c0ad12c128f25fff1","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.1.8.tgz","fileCount":10,"integrity":"sha512-/XeuOQqYg+B5kwjDWekXseSwGS7CzE0w9Gjo4Cjkf/uFitNh47NrZHAY2vp/oS2YQVfebPIdbEIvgdy+kIcAog==","signatures":[{"sig":"MEQCIDZU0OYhuhDhgYk0xW0MvGNYx7GsyzukhFlDvFKj4yrwAiBcDNc+zTkajJB3ariWqnLkrqBtMCGRxarLrVUWVyYM+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84866}},{"version":"3.1.7","date":{"ts":1519156068948,"rel":"7 years ago"},"dist":{"shasum":"ffbb25a79585d9cdbf9cb134ac21c5853dba0eb3","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.1.7.tgz","fileCount":10,"integrity":"sha512-uQTIoHx8MmOgQ/ZKAh9Oa4sGmn+wia5/QLQ5zBR5WCcPrnchTgUJCCEcZerQec67XqUSfE1OUEtUps/gRFYDSg==","signatures":[{"sig":"MEUCIAfUWu5cT56LztiVw1z5NMK1RlsVGzQkvevsUE9CS4sFAiEAn0CSrWDYJidXMD+J2QMgsv9/bog98/HzifQs5XSADh4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84866}},{"version":"3.1.6","date":{"ts":1518979328701,"rel":"7 years ago"},"dist":{"shasum":"8d7c043b48156f408ca07a4715182b79b99420bf","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.1.6.tgz","fileCount":10,"integrity":"sha512-6hezhKgmSIRZeSCiVB84GOmH1Ajvo8XgnaEq/uPQ/wv0g+MQlaVonSEru7VMDZXzRWFoclakpADfInbg/5FGjw==","signatures":[{"sig":"MEYCIQDquz7/kHy6HNgZC7lEW+zqiTPECpONjn2miJWSqks/BgIhAKeVX6S6Y7q7my0iqJ2Un5Pqanf5SvDCLchwH8d8Mkwf","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":84778}},{"version":"3.1.5","date":{"ts":1515387790674,"rel":"7 years ago"},"dist":{"shasum":"d05e168c206472dfbca985bfef4f57797b4cd4ba","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz","integrity":"sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==","signatures":[{"sig":"MEUCIEbXGYuPU5qx8SFCnFy+J3SPtMWpgRwBHBuSwt8N/dCmAiEA0QhmVGSJrK3hGMsHkHB7aWUo5QCrjvGOj5jdXk8eau8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"3.1.4","date":{"ts":1509351594431,"rel":"7 years ago"},"dist":{"shasum":"bb812e741a41f982c854e42b421a7eac458796f4","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.1.4.tgz","integrity":"sha512-kFRtviKYoAJT+t7HggMl0tBFGNAKLw/S7N+CO9qfEQyisob1Oy4pao+geRbkyeEd+V9aOkvZ4mhuyPvI/q9Sfg==","signatures":[{"sig":"MEUCIEcCygjisWAx3TdWbHXGmwnpPaCyXKxWblwh8igIyk4kAiEAxRFn6SoT9LdT1B36MNNgKLi6tkrtzinmy/8oaCemMf8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"3.1.3","date":{"ts":1508550799815,"rel":"7 years ago"},"dist":{"shasum":"ae1ee52aff9c990a83ff8fb69891aeba2847c85f","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.1.3.tgz","integrity":"sha512-gVCSW2StFfuHZYfh/p/HJpdTyB/YX/mr/EATvmw9zMQa6BSUioG4hg4duKEKc47OaXioikzhgFYS/m4EyLmXXg==","signatures":[{"sig":"MEUCIFzZ8vW5VCCC1gGijBsPWSQLoouzEr8M8vi/GJcd70wlAiEA1JKkPguF7G9+OE/3j7dIxSLc1QbO6Jdn/kW9CywAZe0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"3.1.2","date":{"ts":1508550096491,"rel":"7 years ago"},"dist":{"shasum":"2737f3b16f4a7f12af3591bc30da4aa4dfbaf23e","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.1.2.tgz","integrity":"sha512-dIgY4Cr0Xq1NzICdDCPB9KQvjqNm23VfWXTZOSysk/1SzdjwkjnGozvLHS589VG07iGHOyHL6uYzvvhZ+Pc1pQ==","signatures":[{"sig":"MEUCIQCF5hdyj8z+aPPpj9iXbqF1CFwkGknREvj/V7tiKBsI9AIgVk+aowGxoz6uPO+eRocwCXKuHGGOzrKW3hOSNnw6FLI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"3.1.1","date":{"ts":1508546341284,"rel":"7 years ago"},"dist":{"shasum":"1c491537524916fb5b60c8f6cccdf25fceaa0def","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.1.1.tgz","integrity":"sha512-wSN8CKMA+JP1FEwVDKZBQDz9VaMfA8wNCRG/HxUHu7Mb5TjXq9UvA+Ss1iuUkXUhcCDWtwORNf2mZHJTW9fPBw==","signatures":[{"sig":"MEQCIG+6yDZtskZXJpjWaXKHqgkXQLqNZzOOTbO6Xt7tngzEAiBfLwJJNMksjy8mqYxKwybyXYoAccZPMCwwoOqsQOI9ug==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"3.1.0","date":{"ts":1505108344252,"rel":"7 years ago"},"dist":{"shasum":"5102d4eaf20b6997d6008e3acfe1c44a3fa815e2","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.1.0.tgz","integrity":"sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==","signatures":[{"sig":"MEYCIQCvS7yKe9ddx1MWNu/OwhKmdQo15nTBDvz7HBVHj5vAbQIhAIK7ILXZppSNxzQDhXNuMCrGInnN2Wlo788kcaUSbB6A","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"3.0.5","date":{"ts":1504837191428,"rel":"7 years ago"},"dist":{"shasum":"99717da26f83c050cd712ab5ea59f71821f758f9","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.0.5.tgz","integrity":"sha512-NszdHwRzt/Kj4ee6W0TArIZ0kPN48pUN8jXTdzz6iDpJ16fxiYjB1KjMI138S450+9iKqXcmpY4MTT5pB317Rg==","signatures":[{"sig":"MEUCIFkLs3TYPZxtN/r6RtkSon0o8SJTaaD7qD18q89itdaqAiEAnKW8MwHuQhn5lYjkCNg29vQR89SpMlQLavYZGe1T1dI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"3.0.4","date":{"ts":1499799891243,"rel":"8 years ago"},"dist":{"shasum":"1543f1d04813447ac852001c5f5a933401786d1d","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.0.4.tgz","integrity":"sha512-W07uHmC2/7xleHWcYgg4iASgcUSY9TCBnap3gAn+331X7hMQKyRDGzcHzMsadQKa5KNcM/55hFocVggIyTuVFQ==","signatures":[{"sig":"MEYCIQC9vLItAZxDXKfFO9QzqShFjuMJXiwxDAu7LKeo2tKPogIhANUNtz8kB3joUMSu05zDVBSVCLEaXs83yfME8zdSa2DK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"3.0.3","date":{"ts":1496394120857,"rel":"8 years ago"},"dist":{"shasum":"af3339640157ddad39b81a09956d8877cc4b421a","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.0.3.tgz","integrity":"sha512-uTjtugrI0sC0KbJNLZtCmyrg5oFESH++4QqLUdHLrKugDbCz+9V5983YfjpfJhmxqf5f2H+JV9JJhS0brPS9TA==","signatures":[{"sig":"MEYCIQC9Xh01MQxoBRVfJCcfJP7KuqiTpxcwPLh9bOOH8OAMBgIhANFDbZTYyor+jTURWB1+MdL0b+vX2pLG/cn0jt6jTc05","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"3.0.2","date":{"ts":1496232125271,"rel":"8 years ago"},"dist":{"shasum":"bf77b8c860f342d73ac96bf4c495ed3cec05875c","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.0.2.tgz","integrity":"sha512-DJPmTvzNtZ7PExARW6ovsLRP6rxkv6IkdZLVhD8hpfduvMKNRjl2k7+CwqEvURC3R45BVex8TTPeA/YDVEoggg==","signatures":[{"sig":"MEYCIQC3ss69oCHh9ZlI741njwAVvbzYvftEiyWSjSvNgJek8QIhAPzOK6ZQMD7hQeYq3xUJalNrUHTDEbN1HkNqvw1Wf/E5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"3.0.1","date":{"ts":1496038759742,"rel":"8 years ago"},"dist":{"shasum":"2e1bd0ceda6cf78d04b14d281c922129e48ef323","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.0.1.tgz","integrity":"sha512-NzCifOxXgufa3ZUdTdOqvPlFsSoqn9CwSEbID5lM5HhvBKg+NozKqkSA39yuP7EE2qlRtNf4qji0Iw4WpVvvZQ==","signatures":[{"sig":"MEUCIQDiomHRe82ezZkb6d//qgePWMeTufl6k9BE2rO0Rgs+CwIgJS+Sa9kAqjGBkLr6E/C95G6/pkj+sVPAE8Z7vXfIpJg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"3.0.0","date":{"ts":1496038267207,"rel":"8 years ago"},"dist":{"shasum":"c926f11cd75e887dc3b82968909575280731049d","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-3.0.0.tgz","integrity":"sha512-jXbEGkzAwEzFuofLH4JGjM+o1puUK0KlJcLYc5t7zXuutGC0+mRKVqKU264ZQzY6nf/lwTqX2JxOMc7D5lRIjw==","signatures":[{"sig":"MEQCIHGKknQAA/Ac0MAcIQQ/W16q9uNBe1nIuTqBKwhv6YFnAiBatkIwTVeHmqw0jZY3W42X1KwiwM814WMk0L29OF3rEA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.3.11","date":{"ts":1468602932430,"rel":"9 years ago"},"dist":{"shasum":"86677c97d1720b363431d04d0d15293bd38c1565","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz","integrity":"sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==","signatures":[{"sig":"MEUCIQCJr3I542G0h7b8tAUZ8AequLEIJui8oUKLmGD/7QE00gIgRSuGepu/6pvjkZKmCBDzg/A6Wl01aZUJ235qcBQBSSU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.3.10","date":{"ts":1466543595140,"rel":"9 years ago"},"dist":{"shasum":"f4fb3175beec62795a7b8c24d5f745c3680660ab","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.3.10.tgz","integrity":"sha512-s4QloPs9pCkHMwjH3NMvZAXpCXEizLcR7QN1+fkoPmmAFx34ukor4ZdN9onkfQrOOye+Z44n2DSJ1vw4Vr7Atw==","signatures":[{"sig":"MEQCIHzuW7DH73loLHmYyiWfjla2lr13xva85VKriaIaulplAiA5XxNayntnbwIaI8XKDekVu4Ynmu+s/FFH+vo61kom9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.3.9","date":{"ts":1466541391732,"rel":"9 years ago"},"dist":{"shasum":"26370d1989d8029f91034ab667f5f020ccd4f8fd","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.3.9.tgz","integrity":"sha512-QZU30YOYs0E+4Y/CC1QgqBqmeY3RmH2PYwPpyS5e43+I1xvSnJF/p6iBoBzrnLDVm1vjKLOHx8fnXU3T4u3OlQ==","signatures":[{"sig":"MEYCIQCVM2mA0VjeUYZyHE7ADrWn5SE+mzNykowyOZ6HzG5JdwIhAP/f/r7qeqzjPJVYB/6z4Lb3u1zUicQgb0TtV1PApF7V","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.3.8","date":{"ts":1461361552692,"rel":"9 years ago"},"dist":{"shasum":"94fbf8f37ed9edeca06bf1c8f7b743fb5f6f5854","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.3.8.tgz","integrity":"sha512-PQOHX68M7tTh3MiVCxD0ZqaFLlFCr2akgLvAaMCW1aqSi+eaCJbPsJvRNZ95aC3TsQUUziKVKPjMDXJbIInohA==","signatures":[{"sig":"MEYCIQCMOZU04hqycyxzBhPHHffkccml/i6SQPGbTZ8BCazOHwIhALWBqYZDEoPC1Gx4rvivdK2y6AAGUdZiYRJoyLuI0GQK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.3.7","date":{"ts":1450565783928,"rel":"9 years ago"},"dist":{"shasum":"2f2e85ef46140dbea6cb55e739b6b11b30eaa509","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.3.7.tgz","integrity":"sha512-G0mcWeWiyuIQIrb1q+PW2IavR10QlVEYCKpw7R8FjkzhAOSwtj633GCAhQrx1uLQtfc1h3CQWazD8zv+Rf9C4A==","signatures":[{"sig":"MEUCIHbyzyeqkD2wli+AOLz1qWIYYftcBrP1LURmu6OERuD+AiEAz9Bv3bh6PqYEV/lVR/BFYwdJCBMXxwAmyDIJUehJL5E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.3.6","date":{"ts":1450565385905,"rel":"9 years ago"},"dist":{"shasum":"67ced00422d36c9f8bb01d391fe69637b45aa866","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.3.6.tgz","integrity":"sha512-heeZFdcib3225WcK6d822rW5wlbDkdhjkZbPWkGNeJQ/EvCSlkFBEdnDY5lGn3AW8TGcS0lkmOXOR/KVXcWcLw==","signatures":[{"sig":"MEQCIEvmvJp57+dEahm9STS2OaZvsH6cb29UsY7XRDJV0VuTAiA4vmVlYx0xXkrfnj6ZrVMO+Iket4yAfPHxnvtIJ7RxkQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.3.5","date":{"ts":1449440698008,"rel":"9 years ago"},"dist":{"shasum":"d8dfed89e28419d073489be55c33f0b05c273217","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.3.5.tgz","integrity":"sha512-Xm9hdaMOJrGA+hxR6IpiBxrMDkrzYXgaNJMz8Vst/wb1kv0SigQwFS4wWBvQ0+Hb0afwitHYNe23qTcO3PCz1w==","signatures":[{"sig":"MEQCIH5+6lb8fGh3J9XNNx5gKuYIkEQDAbTAPTbLf+O3zDfXAiBjs27//7rqZ6KCX1oXfbXWmTyoQz3g/iHxiDadPlnn0Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.3.4","date":{"ts":1449434001660,"rel":"9 years ago"},"dist":{"shasum":"b17874eb365b371065fcd44c27d6e1585638ae4c","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.3.4.tgz","integrity":"sha512-TaQx3Nw4E5HTt//Q1YlwVBFfckcwTfDD9BLGpnx5jBIqkPe0DWa4P+KpVHuMdsJ53SfoK8gxjyiJDwASR1ycxw==","signatures":[{"sig":"MEUCIAeJk6nJbRGlaZPEEmDBjxbefQf9s0k6pbhG96Q5HzLKAiEAl2lEYqxc63z/xyUeVGNbl4e/dOx/vRQjv7MHhit7gyw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.3.3","date":{"ts":1448486004810,"rel":"9 years ago"},"dist":{"shasum":"f8357e265f5768f2ca799a3241d1995788d31648","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.3.3.tgz","integrity":"sha512-2ijwu2YhIOQ9FCmdZaLdtq8BvE4MTek7RuRu/wdg206/IpJKFmFxJU7TRyJ+vE9J0MauMUAShWUFykLlKl7pRg==","signatures":[{"sig":"MEQCIGhsZ3OSV7N12sw4GD4XQjqzLaHR03sJp1H0LflBXLSbAiAAuOkhwPYGUN89l2b1LOWWdC92iCVRc5njB0oGBC/s9A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.3.2","date":{"ts":1447130011801,"rel":"9 years ago"},"dist":{"shasum":"fec97df21776b01ed72bdff7295f64072b6e2d42","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.3.2.tgz","integrity":"sha512-7lDNvYe0dzH7fsyYpLtjCV7Pz9aDrpAUjyFeCeBwLiaSWBnxbAfBLmc3pB/VyoqVEVja4PrAZdmr22P473ZiTw==","signatures":[{"sig":"MEYCIQDF5dUVRk//EBlMTvCigVYsWabsKWBXJoQSJMlvJknlzgIhAJvQ4SAP7n+Xz7RUfgvgV3KZ3+daV1gqgc4dH9ZNrqfW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.3.1","date":{"ts":1447120978579,"rel":"9 years ago"},"dist":{"shasum":"f9cadd05bf513511288f0f22b89b84e0e93c1646","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.3.1.tgz","integrity":"sha512-hjBW51RnqXaFrjCSAe+8Ligdp21bDPTh4i+rlQ4qWXYP2eygnrQeKuCa4l8e2Fymmrm3eaCPH36jUCa3RkSYlA==","signatures":[{"sig":"MEYCIQC7Gocp+lbslbCvIFSFPaZDTUOjf3coZ9ZtXWZRg3NmQgIhAOWFfWn2MJg5NgxYJTdyyKXRBMmefg1/QYce5eU6UiS9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.3.0","date":{"ts":1447047514744,"rel":"9 years ago"},"dist":{"shasum":"951b2c4468c5d77885a6df558ea9a33823e7d238","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.3.0.tgz","integrity":"sha512-imzLEnZs3omGptcUytU1GCt7XsA/WZwDg/TIX4ApSCl+JwqFFJedlHRK2yLHj9uPo1vlL8Nw2DR8zFcgUoR8+g==","signatures":[{"sig":"MEUCICMUjJuTUOkup3fbGZ+faMGFESH6ahw6HLhgRpJf/BvPAiEAkv6gwxuc9GMt/qbCD6gW93m/A8pMc7f41SJlwIF3M94=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.2.0","date":{"ts":1437727337058,"rel":"10 years ago"},"dist":{"shasum":"e7281bf971100827b890e375d994f12034898ff5","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.2.0.tgz","integrity":"sha512-C+bwIqRp177ofuqmibBPxudfy9J4IHY+I/U60ocDbQOoY1H1nj9nL8uN+D9M402/qnQ4LZgv9BLOIWDVxxwaHA==","signatures":[{"sig":"MEYCIQCv7V94J0tgtFf1K5GK3Ap25f2B6AzJvpp5Fsb73vDjFwIhAMkGAbyAKUi9K7FMCJvIARpGvP71e+3F33J7tWDcpMo9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.1.6","date":{"ts":1429045610733,"rel":"10 years ago"},"dist":{"shasum":"51a65a9dcbfb92113292a071e04da35a81e9050e","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.1.6.tgz","integrity":"sha512-b6Pr6gJmAZciSjQjFSLXQs9lEs3iY2D6S/uS14gYW9lWYVmCybBPx5XbvTF10BXH8B+jXgWfI5jzsvFxqC8P7w==","signatures":[{"sig":"MEQCIFZhjU2g50clQKO+IjYJeW64rJOsaXtshw+6V2sWqNSHAiAsc6MPE6l+xxGFRmE+itw5YAZ1upTSp3KNXGccojWMaQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.1.5","date":{"ts":1427512548589,"rel":"10 years ago"},"dist":{"shasum":"e356977873e69f94de02439355978f4a26e8849b","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.1.5.tgz","integrity":"sha512-FYjzTY02TJXwvxfzEdELtZC+G/wz/KbHUZVnCorE6DNbbNZsxLGZkTXhjmbz5I2ROJtCIdAgiJKVZrB/Q3grMw==","signatures":[{"sig":"MEUCIA1srSt5hhP5DsRucK9IA/ClQ94f7J/h3139PXY7s+zlAiEA4oXymKrHQgnDC/xs0W58Ypz/Hf1ar64+fWTUeZeVpvI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.1.4","date":{"ts":1427465992288,"rel":"10 years ago"},"dist":{"shasum":"4e23f89ae0fa4fd72eac59261fbf7bb41970cdc8","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.1.4.tgz","integrity":"sha512-Td1DYyBCj7ugwWF+IZRtiwImrkNFUEZ4w1WHKEMknKWQJlzxmL4Zya5wtiMFHgbUUEeb81m0QG/Mj38fUbObTA==","signatures":[{"sig":"MEUCIQCgjD9+f1W0C8CUjDN8NG4QNPCME6/LVacC9ertnICHfAIgb+h3wIFXFY0Zi3HyoM7QpLWxdrxGXd+rCgOa2D7PuSM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.1.3","date":{"ts":1427422378010,"rel":"10 years ago"},"dist":{"shasum":"8439bc163e8e12949b67b7e3382675e6c4448892","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.1.3.tgz","integrity":"sha512-gdLZ5V+NVHKDZ764rFMfqw8x1qZnCWN4y1hgu8eDsW/5L3OzKYKgec7ABVlpGBNmDteleUmgFbYKzxSshThZvg==","signatures":[{"sig":"MEUCIGol0EMB+j1xbzvNjwPop30RoBmmZgYXtD4uyURhiVRyAiEAsd5yqUT7Mg5E/RLLYDOnxV4bRNSlMj/b1HJ0aqTj+PQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.1.2","date":{"ts":1427418580793,"rel":"10 years ago"},"dist":{"shasum":"d86316f5b713cce7ac07474fb55971918fb4f48c","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.1.2.tgz","integrity":"sha512-Q0JVZ8YUWBFZGTZ96v50RSMvrsh0al8tLQFXg5jW0JmwrWj6t2XdFCu7hcaLN6Bp5XJtI6KawmmkPSgr2GhLsg==","signatures":[{"sig":"MEQCIBwo4IK3ZOFX83tlWr6sHmQCDNrMXl5e4g0ybd2jADOFAiBgfFqzGLFezhasqpZwAYPjvK4nXkndld4JYdSH3A9UGA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.1.1","date":{"ts":1427417391230,"rel":"10 years ago"},"dist":{"shasum":"545300a2564bfbd579fc499c95f99d8a7aed19d9","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.1.1.tgz","integrity":"sha512-hL6jjzR+N4/ODDcUPdGV8+I/kPw7zfoGQvOgukHc7i3K1LuAp2Cn4v+Ec8WLC0GC1xO1iFSZLqRr0cq63tfbIA==","signatures":[{"sig":"MEUCIQDJ4mONz6JAxJBV0KpqWO36ZaSTA+cNdOuUL7ZC3oEiXAIgd7eWmybv7TcAfo3kPqfW+cZkjBVEXMyYiQXglgQ8Nw0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.1.0","date":{"ts":1425869152457,"rel":"10 years ago"},"dist":{"shasum":"48e749678e84b51616045c63c8c1dd1f1773495a","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.1.0.tgz","integrity":"sha512-zKMrPQVCAx6xEiewqWy5qbv+cMlYC1RgUfTvq9E5oUdtnhdfVEabV/5dYXuCoLeHFUDQvLJ1trKV/NY90UZyrw==","signatures":[{"sig":"MEYCIQC88k00K/SN6485LhpG4/oHeieVyGbzBXFcnho5AtNH9gIhAN/hXy5OJ0VZOapeuSGELtZkqEuqZ+GeMxRxVaPe5vmj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"2.0.0","date":{"ts":1425683964208,"rel":"10 years ago"},"dist":{"shasum":"fa102f0e510e0b7861987cdb53e22526448da1a4","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-2.0.0.tgz","integrity":"sha512-CU9ZaGKPEkL7hUtzaBYporDZkYCOjviXVJ6gwByyRpnSNgcZdMh2HwRlG6XKPt1tXRM6ErXD272xvMn1Et5OGw==","signatures":[{"sig":"MEUCIQC2/pNojBNPlU/PjxDlCu4fXZISb1ZQDBng0ihlr13p9QIgIo7n9w1uibqapcVrflNT2gZYQ8L/hx2HWBhp+43/cHE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.6.2","date":{"ts":1425674429945,"rel":"10 years ago"},"dist":{"shasum":"38fab47076aacece6ead77ef38472392f7b4bfb9","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.6.2.tgz","integrity":"sha512-aq9dbJx8tG1narL9gpZKV5QoVobLgwNreir/X7tqZpS+b+7RjAYUqLYk+8DP5iZ8bw7iHmpNiuQ87dbU4WpeuQ==","signatures":[{"sig":"MEYCIQC5RSbGJjViuaHl1H+2u1TLxDy39l5WOta9FwGrj2gPxgIhANHRGXCw+uQ6m6v2+Zb5DkdQeNsBaBzF3DFCGZ/D6S7X","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.6.1","date":{"ts":1425673881594,"rel":"10 years ago"},"dist":{"shasum":"be9c756f85a6c04f2839625936f37eebd1aa3231","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.6.1.tgz","integrity":"sha512-6xfdEs0lyvcXVjOa6egEb+LyIRux0OuiimDKnMtzYLZuD6FiYDorTGQgg30XrsMVGm3ZIYMmLkFY+2zgg+kd1w==","signatures":[{"sig":"MEYCIQDHM1P1sBAZlLHBE/Eg2+i4sVAx0Wq7kYOOW5oYAWEhuwIhAIXz7MMMqE0lVDLbvPeC75HxsZemVcJ1jZ4QPk/Kr0wv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.6.0","date":{"ts":1425672667047,"rel":"10 years ago"},"dist":{"shasum":"0e5c87d8ea63a02da6d5706c9c4cc3c753129bfc","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.6.0.tgz","integrity":"sha512-RvJfr0+4VSJFc2LhJu+VOaSjQwvMbDoYFssaJspunSOHHjnn7C57JPNY7SBd8wUBLiAhBKjYiZ/cyw81se9QGg==","signatures":[{"sig":"MEUCIQCBpfsSaXsjbpgmLlHAbvbW6u+ihlaP2XDg73ro70hJKAIgVyEARVQgPlwgr/L+CfSEGvMhVHLxxYxptWSHVyubFRI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.5.0","date":{"ts":1425476698182,"rel":"10 years ago"},"dist":{"shasum":"50bd67d41604ad1b749249c055abadee914a5ebb","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.5.0.tgz","integrity":"sha512-FHsVECj5JHEYp/XTU8bJGxJ30YUpBMY1hMMTLxQMCriDFjvox5O3S6Ze/m6rM71D9J24hL3iK3NHsw9cFoIi6A==","signatures":[{"sig":"MEUCIQDpsZ4YkkoNQ25W5FT/oizhNEiZywk3z2S1FHn3bS/UMwIgSUPJhNMLa0QniFHNd+e8JfPzd72CxPCOF/YhKM/C2Kc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.4.5","date":{"ts":1425252563978,"rel":"10 years ago"},"dist":{"shasum":"eced3fa4cc87a8a8f32c142e238c17670600769f","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.4.5.tgz","integrity":"sha512-BgoJz5iwA+8cw3XUZL2eIFuZcpcPUcZDCfGwhyOCoUnem5yhAq3hDNCfU9h0ma8spNZxBbuCM6JvKd7z56OVtA==","signatures":[{"sig":"MEUCIQDyXba9VSRsl3TV8vAItTZVoyjkhkvvdKuoOwgf+BVkzQIgDUMIVSmnazyYu+02xo/HhF+MiCO+Vb1hEpe97ZQ3g7I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.4.4","date":{"ts":1425236268920,"rel":"10 years ago"},"dist":{"shasum":"24b2fe56e81ff7701e6290f39a1e88d143402b1f","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.4.4.tgz","integrity":"sha512-C6mVKf8OPUIqdVGlShQ+5d8jjicC72Qe2maAg7Treiwr6uEwDsPsAF/gG4hmv0GWo6te0g3M0ui9z6ld1s5SbA==","signatures":[{"sig":"MEUCIFCPUbLE41VAAP/xSh8Mnj+TBAa4UGiilLwMit/aNJjyAiEA2eviqAsvOZgK43jvwMto4WzFAYNE2UVasSad6AKlUiI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.4.3","date":{"ts":1425223534698,"rel":"10 years ago"},"dist":{"shasum":"853731f751b2ca52e04fdf8ee429e997c1d488f5","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.4.3.tgz","integrity":"sha512-QrM7/3azDMr6wx++iAlfJOCIXdm1Esk4dpkyRCR1/ApMgu3wO5XjCfjCJmIc8btt7HFjaATKAqAeKZ3BIS1Wiw==","signatures":[{"sig":"MEUCIQD8Riz8+e8lB1ZLaHhIoeUmcEbCaoCF0rZuYKtwzeqLEQIgWAGFQNl2VGbbTcQRYkZlg8rY5rkXOb/o+QhRJz35xlg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.4.2","date":{"ts":1424433282260,"rel":"10 years ago"},"dist":{"shasum":"1b1d1b9ef357c01a33239b170894709b037fc085","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.4.2.tgz","integrity":"sha512-VNu46T/+GcM841nBmivGaH/j7h/U4IYvlZXgBTD2SjQtj5D59MhjPDStWfggqeflZZqqSCaw1BcyA8ZzDkMysQ==","signatures":[{"sig":"MEUCIQCnLdq5DVOoc5Z3N0JQ89X7npV1IAguFQkG1J/bTAbXfwIgA49aNXcCJQAIaUG8S9/sxGXNBz8m4ROaHhb+peezWRo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.4.1","date":{"ts":1424427153185,"rel":"10 years ago"},"dist":{"shasum":"cc7a81a85441657fdc36de1db9235724e55a6124","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.4.1.tgz","integrity":"sha512-zzEWNHeBUbNWPhCFz5r7VZ4npFiTEPVgREtAT/KhRHnVvK14dCs9n+tYZE+o3jeG48Ld6apXkny5w0DvckUzWQ==","signatures":[{"sig":"MEQCIF3xJoZgFotpsGuNLNH+QBZLOonYjFdx2w0sC+dc7YM+AiB8hN/VzNQaHBC8QFfI1xvMTo38JtL+JLRM7wZ3L13nPQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.4.0","date":{"ts":1424177945326,"rel":"10 years ago"},"dist":{"shasum":"13f9f50b37d31a7138f5c1cdc1e72769083505c5","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.4.0.tgz","integrity":"sha512-ibVVM8/ZXS3HN6rQPF7dgsnn25E9aVF+1kNNqJ9JqQuOksYicAXznF/MOu2gxSa2BvKLpW119+8ileZpqEpdjQ==","signatures":[{"sig":"MEUCIEHGOjZJQysFXwP9bAZwLHFP6spnPEZTbzMQ+VQEqPmrAiEArQDYZ+BI0bSRVQrgIg/RvvtbafwgdPJ+wcRe8ygRbdo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.3.3","date":{"ts":1424047466767,"rel":"10 years ago"},"dist":{"shasum":"86985e4d3dc01d71cab4ec63a3e317c2d129d268","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.3.3.tgz","integrity":"sha512-k0wScZxxJwPc5on6eBJn0Z3m1LfbSEYpZVWnisV8je1xUlzQm7Og2RFfSDM0FzKbIGU+38IW9rW5QKCZK5mJNA==","signatures":[{"sig":"MEUCIQD9I3q14wWuAvSAXiBzyZF5Li7lmxQy3VHy0E26XlstEAIgMFwm4nMtjRFpCAHT5r8rdg7bncripGjnWtTUj05ixO8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.3.2","date":{"ts":1424036529237,"rel":"10 years ago"},"dist":{"shasum":"5706c4cb24c7040fc3f57a2b464f76f112a5b6b9","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.3.2.tgz","integrity":"sha512-317eXxI7Ql8ucklUPqigrllSwFOYfQHKWrFMZMhPYj69JfxUaKyIeEFbjX5l8oMxg3J7CXrzTM/emt8FP2HLeA==","signatures":[{"sig":"MEUCIQC3hQOAg3mdVZ3jZe6Wjm05cayPBWgz6oU5RN9fMD69zQIgB1RvgX6xuHcXfe65w6FkSmFbhsIuFMnF1efgrZZ1USY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.3.1","date":{"ts":1423684346641,"rel":"10 years ago"},"dist":{"shasum":"f96117bc7c34062da5cebd721af5c40b402052cd","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.3.1.tgz","integrity":"sha512-z5/VwgKwSZNcjsVqtaqgGamNYJzxOM1EKHICHkWUjhBe+P3Z+/EUf0Ak0KnbCBCTt0U4CCZksyurrspGaXxgsA==","signatures":[{"sig":"MEUCIFvjmisMnG2HiHy9WjV9FvvEC5iRPxnXjvW5TvXnJ3nrAiEA21jgrsezns/oVPMr57bEOZYDMFxjwMu4k0x2iYgZZ6g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.3.0","date":{"ts":1423667230882,"rel":"10 years ago"},"dist":{"shasum":"62099439ad54fcad188dc013e184eb7261c68f55","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.3.0.tgz","integrity":"sha512-b1TBX7YDexNCqZwtxrRy5yTXbBxA8O1GEv1i4d218OdIdIjOBr7z+xQzkn27Qaxm5FbkB8tN4t5mxtO0RZzOVQ==","signatures":[{"sig":"MEUCIQCsMpSps4V8HS7KKFKmti4AJodQNPm/ukPc41yKMx9yRgIgLt8S0G8D0TWToo3Fi0O464rNB89mshsNyOGA3jgQwiE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.2.2","date":{"ts":1422626986938,"rel":"10 years ago"},"dist":{"shasum":"d38c0ea77731a1714c46d273469cd31322ea02ef","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.2.2.tgz","integrity":"sha512-ZLecoVApC2mZVyf++chmRd0c9j7Csj/xMQv7gX7PRdC5CWkmn8aRRvilazTp3ZEJ+Ma8xpa9p6jbDx3AFYrRXg==","signatures":[{"sig":"MEUCIGme+UKyy4cfk6Mcw9ZaSFg2BZ6VW3RhEVfzyrOIw2ArAiEAjSxjPMWr8JWIvFok6C2NUhN4Jr8s8g3SKhKRR/tz3lI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.2.0","date":{"ts":1422624191065,"rel":"10 years ago"},"dist":{"shasum":"771a95449e4c2573f4c62df684c9a3fe430ad226","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.2.0.tgz","integrity":"sha512-jg3y77ZoUZtsAs/OPzIRoSx75piKdZymF2L8sz0uSUJG18w5LsmaQNgV9ZdGsJunyKndAFa/fgJFFazKN3yxUA==","signatures":[{"sig":"MEUCIQDLNNIp6IXXaROUBwJXol0pWNGjbn7M0c7jz9Ii5eX9pwIgMDKsc/yz9rtMJkSZSCt+nK8eCVzxb93+8noCaIrmRaU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.0.1","date":{"ts":1420065221700,"rel":"10 years ago"},"dist":{"shasum":"d22539682fdd903b70df220018d8ac0defeb8434","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.0.1.tgz","integrity":"sha512-juRHcNORljLfREsoh0AW9oTq8ViIssD4VQzhwiPJEMWyOHLXC9y5CEIUQ72TIjgQQPrPWnXIoL17Or4Z9KeKOg==","signatures":[{"sig":"MEQCIG4vRT8Lrc0bsW1E/fcp5s2vZoqao2LmM20y0zYZbYAOAiBwAHeHWFrGvNVQKzb//5QDQrBG0FsRDEzr8N1wFBA0TA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"1.0.0","date":{"ts":1419787713699,"rel":"10 years ago"},"dist":{"shasum":"57ddb18dc0edfb6ee882a77581afb61970906b85","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-1.0.0.tgz","integrity":"sha512-5XdaJhe3HhSWkvvHy729IhIaLqccppEckCBAXXmOOzeimGekqLOXCisJpXh6Yek+QdvVXgOtdqK0BRPUI5wUdA==","signatures":[{"sig":"MEQCIC7P8d/ZYzVnO65ZV+QE3s+BYVvZTN2MgHEJ2brv88xOAiBDOsNCurdzJpx6qa+7Kk6WfuYa/vRiZQLrbssBplOn1Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"0.2.2","date":{"ts":1419334681639,"rel":"10 years ago"},"dist":{"shasum":"228dc16354377e1b2dc2e4114b7fc53219b8ae57","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-0.2.2.tgz","integrity":"sha512-E7LJruEuTXuqjc8g1trRpxh1Ak9DQOj3CedFRFhpNi6KRwYPC5xDJg/dudWkkTsnNYdmonoC5d1X64hGsjP/sg==","signatures":[{"sig":"MEYCIQDRuCiXSZA7Wps4PfJVLuCjZDw1viOCb6v0kdFiCUxjIQIhAOKiCHdA7ekgzgh/BXEhzcEAtw5mr4I8niAfqNe4Dp1D","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"0.2.1","date":{"ts":1419333274171,"rel":"10 years ago"},"dist":{"shasum":"2a8684d31401b7d4d4fd70890eda6ab53b3f8260","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-0.2.1.tgz","integrity":"sha512-zsOlEJzty2Qa2FwqDmLb1n9bTx22omw617rWbejid4ikoFQy+aMhYuty11CBvUvspABurrCsL2ql2xZCeTrOGg==","signatures":[{"sig":"MEUCIQCD/b4XixJMn24mXt0yX6xoHMsKeyWnTFYFrxNxEaC+7wIgbTL0iZki9OhSQBoDyWUo6rGnrXi0QttYrvQCjIu43Jw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"0.2.0","date":{"ts":1419331937669,"rel":"10 years ago"},"dist":{"shasum":"e0b82107687dfd6e4ff8f085c62adf8a61a24ae3","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-0.2.0.tgz","integrity":"sha512-vM+tW7aGPXW3tipt1SKW9rUnkAbcXVn8k+qlM2LFD4V3n9RdkdQoslfKwaXWfqaFRQ8NmVH5PUrW5czOewn/WQ==","signatures":[{"sig":"MEUCIQD1ydC6JxOigfY6OPeyM7aTZDTt/SBeoG3pexyeVoYxnwIgHltI3fLyHOFcn69LXBiZr37HZ/e3k48Lyt8vxyzJmtc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}},{"version":"0.1.0","date":{"ts":1416904458841,"rel":"10 years ago"},"dist":{"shasum":"f58fc1198dc1ba5b97cc2e301d28f0f3ee05ca2f","tarball":"https://registry.npmjs.org/micromatch/-/micromatch-0.1.0.tgz","integrity":"sha512-GQRzYCrGSoSGGU3QgckEij+psNPgh2N/7EGbW7q92WE9jMmRjAsrEH4pcioy62cNFsOJP2jxURvfQ2O6jQbEMA==","signatures":[{"sig":"MEQCIFAbX1/2+RqDVCvYAcvICtlS0QMgxVb0P+hp3jHn3tKnAiB20Bnle9M8i96wPZw019hL1G3fGZ2q6Vc703ZBYK8eZg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]}}],"deprecations":[]},"packageVersion":{"author":{"name":"Jon Schlinkert","avatars":{}},"description":"Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch.","homepage":"https://github.com/micromatch/micromatch","repository":"https://github.com/micromatch/micromatch","keywords":["bash","bracket","character-class","expand","expansion","expression","extglob","extglobs","file","files","filter","find","glob","globbing","globs","globstar","lookahead","lookaround","lookbehind","match","matcher","matches","matching","micromatch","minimatch","multimatch","negate","negation","path","pattern","patterns","posix","regex","regexp","regular","shell","star","wildcard"],"dependencies":{"braces":"^3.0.3","picomatch":"^2.3.1"},"devDependencies":{"mocha":"^9.2.2","minimatch":"^5.0.1","fill-range":"^7.0.1","time-require":"github:jonschlinkert/time-require","gulp-format-md":"^2.0.0"},"maintainers":[{"name":"es128","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9jY2NiMzhiODA0YmE5ZmMxY2ViZGE3YzUwMWM3ZTg1ZT9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.NHmW9sw2SpAagil33919OkIi1MVdoJZBfT3ACO8CRVc","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9jY2NiMzhiODA0YmE5ZmMxY2ViZGE3YzUwMWM3ZTg1ZT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.TgjWwyPVBpCT0f3UtGwYJxx8MYGlKjqlM8qMY3wBbIM","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9jY2NiMzhiODA0YmE5ZmMxY2ViZGE3YzUwMWM3ZTg1ZT9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.ge1KaVwnhbX0d5OgUHeG1o1Pw8JZ6upG3SSH9No1THA"}},{"name":"paulmillr","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9kMzQyZTRlZjA0NWM1NGE2YTZmNDFkMDcwZDhhMDQwNj9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.l7TXnt6J1gluzg98lZDWQsKTfpL0Nx7eU_EFZF7DJog","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9kMzQyZTRlZjA0NWM1NGE2YTZmNDFkMDcwZDhhMDQwNj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.ytn2vx9BjcS6IvSWE5P79dMLmMzO2OmYm5mEyBkuSvA","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9kMzQyZTRlZjA0NWM1NGE2YTZmNDFkMDcwZDhhMDQwNj9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.KHsSFqHdbScjfFIkuQfc44tod9iy0tLcRE1UnhYmj2U"}},{"name":"jonschlinkert","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80MGVmNTE0ZjlmYmU2N2JjYTFiYThmYThkNTM5YTgyNj9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.DIAkohO25VVwKusUkbvrXpxDeXfTA6c0mY73__8Zmi0","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80MGVmNTE0ZjlmYmU2N2JjYTFiYThmYThkNTM5YTgyNj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.xKUcpNvd5tgP61-KE4xo4PgIGHMO4ziOqZGWPzmMOK0","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci80MGVmNTE0ZjlmYmU2N2JjYTFiYThmYThkNTM5YTgyNj9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.IqcEqu9J8dL5WlYr_BpJrC9-WPQRzAZs3pYtONeU900"}},{"name":"doowb","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8xMjJjNTgwZjc0MzM1OTc5ZjM2NzExYjY5ZGVkYTVhZj9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.qTw-XGUwdezaF1TrzcZ-DrfSmvjcX_b5481NS5ANWDs","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8xMjJjNTgwZjc0MzM1OTc5ZjM2NzExYjY5ZGVkYTVhZj9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.xlOIf8wDZu3CUQfxXnnMdQcC31hNjlFH8p2_ybkAjYo","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci8xMjJjNTgwZjc0MzM1OTc5ZjM2NzExYjY5ZGVkYTVhZj9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.byAefUBakCTgnDURNaW6jZlzLqda5zQA8ZShAgNJ9FQ"}},{"name":"danez","avatars":{"small":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mNWVlMjhkYjU4ZGVjODZmZWMzYTBiMzgxZDFkMDRiYT9zaXplPTUwJmRlZmF1bHQ9cmV0cm8ifQ.2PWM3Al_yx1MIURNEqqpn9l_0uXPE_YNg_ixgEtA8-Q","medium":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mNWVlMjhkYjU4ZGVjODZmZWMzYTBiMzgxZDFkMDRiYT9zaXplPTEwMCZkZWZhdWx0PXJldHJvIn0.F2-9SxNRkV8rnt6bG9lXtziccO_vW2363t4-jMHAv-I","large":"/npm-avatar/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdmF0YXJVUkwiOiJodHRwczovL3MuZ3JhdmF0YXIuY29tL2F2YXRhci9mNWVlMjhkYjU4ZGVjODZmZWMzYTBiMzgxZDFkMDRiYT9zaXplPTQ5NiZkZWZhdWx0PXJldHJvIn0.raGBZpLCZ_D2CaraDbrwPlXSSGdkLL0gY1w0lFbztOM"}}],"name":"micromatch","license":"MIT","version":"4.0.8","versions":[],"deprecations":[]},"packageUrl":"/package/micromatch","packageLinkingCallToActionHref":null,"package":"micromatch","linkingAllowedForPackage":false,"isStarred":false,"ghapi":"https://api.github.com/repos/micromatch/micromatch","downloads":[{"downloads":61277253,"label":"2024-02-19 to 2024-02-25"},{"downloads":64210925,"label":"2024-02-26 to 2024-03-03"},{"downloads":64627592,"label":"2024-03-04 to 2024-03-10"},{"downloads":64696831,"label":"2024-03-11 to 2024-03-17"},{"downloads":64138620,"label":"2024-03-18 to 2024-03-24"},{"downloads":54989957,"label":"2024-03-25 to 2024-03-31"},{"downloads":59336332,"label":"2024-04-01 to 2024-04-07"},{"downloads":61116503,"label":"2024-04-08 to 2024-04-14"},{"downloads":63109020,"label":"2024-04-15 to 2024-04-21"},{"downloads":61932265,"label":"2024-04-22 to 2024-04-28"},{"downloads":56028098,"label":"2024-04-29 to 2024-05-05"},{"downloads":57999580,"label":"2024-05-06 to 2024-05-12"},{"downloads":62004753,"label":"2024-05-13 to 2024-05-19"},{"downloads":63450756,"label":"2024-05-20 to 2024-05-26"},{"downloads":63399554,"label":"2024-05-27 to 2024-06-02"},{"downloads":66804406,"label":"2024-06-03 to 2024-06-09"},{"downloads":65735061,"label":"2024-06-10 to 2024-06-16"},{"downloads":64893832,"label":"2024-06-17 to 2024-06-23"},{"downloads":64677781,"label":"2024-06-24 to 2024-06-30"},{"downloads":60018177,"label":"2024-07-01 to 2024-07-07"},{"downloads":65978915,"label":"2024-07-08 to 2024-07-14"},{"downloads":67386198,"label":"2024-07-15 to 2024-07-21"},{"downloads":64832126,"label":"2024-07-22 to 2024-07-28"},{"downloads":64483765,"label":"2024-07-29 to 2024-08-04"},{"downloads":63948139,"label":"2024-08-05 to 2024-08-11"},{"downloads":59740688,"label":"2024-08-12 to 2024-08-18"},{"downloads":64451505,"label":"2024-08-19 to 2024-08-25"},{"downloads":67954572,"label":"2024-08-26 to 2024-09-01"},{"downloads":65992651,"label":"2024-09-02 to 2024-09-08"},{"downloads":69104453,"label":"2024-09-09 to 2024-09-15"},{"downloads":67131313,"label":"2024-09-16 to 2024-09-22"},{"downloads":68871808,"label":"2024-09-23 to 2024-09-29"},{"downloads":65011828,"label":"2024-09-30 to 2024-10-06"},{"downloads":67438964,"label":"2024-10-07 to 2024-10-13"},{"downloads":69586416,"label":"2024-10-14 to 2024-10-20"},{"downloads":74557821,"label":"2024-10-21 to 2024-10-27"},{"downloads":66376164,"label":"2024-10-28 to 2024-11-03"},{"downloads":79825099,"label":"2024-11-04 to 2024-11-10"},{"downloads":84660503,"label":"2024-11-11 to 2024-11-17"},{"downloads":95110312,"label":"2024-11-18 to 2024-11-24"},{"downloads":81439103,"label":"2024-11-25 to 2024-12-01"},{"downloads":72315159,"label":"2024-12-02 to 2024-12-08"},{"downloads":69291472,"label":"2024-12-09 to 2024-12-15"},{"downloads":66291028,"label":"2024-12-16 to 2024-12-22"},{"downloads":35088530,"label":"2024-12-23 to 2024-12-29"},{"downloads":40752184,"label":"2024-12-30 to 2025-01-05"},{"downloads":66600740,"label":"2025-01-06 to 2025-01-12"},{"downloads":69653787,"label":"2025-01-13 to 2025-01-19"},{"downloads":68477458,"label":"2025-01-20 to 2025-01-26"},{"downloads":70672565,"label":"2025-01-27 to 2025-02-02"},{"downloads":82840853,"label":"2025-02-03 to 2025-02-09"},{"downloads":75411739,"label":"2025-02-10 to 2025-02-16"}],"dependents":{"dependentsCount":4907,"dependentsTruncated":["prettier-plugin-alias-imports","@joshwycuff/terrascript-core","hex-xml-editor","huds","@terascope/scripts","hexo-html-minifier","@edoroshenko/codemirror","a8k","fs-to-http-builder","@leo-burnett-melbourne/svg-baker","autogit","scripts-help","react-angular-component","skypager-runtimes-node","node-red-contrib-dynamorse-file-io","vitruvius","@ngxvoice/ngx-voicelistner","react-native-ok-sdk","roc-plugin-repo","@popperjs/nuget-publish","awesome-typescript-loader","zyl","ch3ck","thintest","@conscia/jsonpath","fhir2","budoz","tarima","@dicy/core","verb-generate-readme","metalsmith-auto-collections","documentation-habitlab","h5-templete","primeng-custom","skale-engine","@pingy/export","serverless-plugin-include-dependencies","@njudah/builder","wc-starterkit","simplyimport","rosid","makestatic-core","cloudron","gemini","servicer","gulp-micromatch-filter","budo","jscodeshift","gemini-core","gulp-css-useref-abs"]},"capsule":{"name":"micromatch","description":"Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch.","maintainers":["jonschlinkert","doowb","danez"],"dist-tags":{"latest":"4.0.8"},"lastPublish":{"maintainer":"doowb","time":"2024-08-23T16:31:18.748Z"},"types":{"typescript":{"package":"@types/micromatch"}}},"canEditPackage":false},"chunks":{"commons":["commons.74d74467fb70cd5401ce.js","commons.74d74467fb70cd5401ce.js.map"],"styles":["styles.3c3ef91f073352bb91e7.css","minicssextractbug.d66d46708dd01c18fc7a.js","styles.3c3ef91f073352bb91e7.css.map","minicssextractbug.d66d46708dd01c18fc7a.js.map"],"acceptance/acceptance":["acceptance/acceptance.045e956326c9b5fcdb4a.js","acceptance/acceptance.045e956326c9b5fcdb4a.js.map"],"audit-logs/actions/common/auditLogContainer":["audit-logs/actions/common/auditLogContainer.53b5fa5258981ececeb9.js","audit-logs/actions/common/auditLogContainer.53b5fa5258981ececeb9.js.map"],"audit-logs/actions/common/dot":["audit-logs/actions/common/dot.a6c2035bc6bc32e6872b.js","audit-logs/actions/common/dot.a6c2035bc6bc32e6872b.js.map"],"audit-logs/actions/common/filterActions":["audit-logs/actions/common/filterActions.10690b8013721a202a2b.js","audit-logs/actions/common/filterActions.10690b8013721a202a2b.js.map"],"audit-logs/actions/common/spaceGap":["audit-logs/actions/common/spaceGap.aa2921bf2a5d6e05483a.js","audit-logs/actions/common/spaceGap.aa2921bf2a5d6e05483a.js.map"],"audit-logs/actions/orgAddUser":["audit-logs/actions/orgAddUser.b2434e45d5c1e0ec7424.js","audit-logs/actions/orgAddUser.b2434e45d5c1e0ec7424.js.map"],"audit-logs/actions/orgCreateTeam":["audit-logs/actions/orgCreateTeam.b913a08cf76b6f09986b.js","audit-logs/actions/orgCreateTeam.b913a08cf76b6f09986b.js.map"],"audit-logs/actions/orgDeleteTeam":["audit-logs/actions/orgDeleteTeam.23429bb96b3e79a6514d.js","audit-logs/actions/orgDeleteTeam.23429bb96b3e79a6514d.js.map"],"audit-logs/actions/orgRemoveUser":["audit-logs/actions/orgRemoveUser.ec85fe9dc75bea0df456.js","audit-logs/actions/orgRemoveUser.ec85fe9dc75bea0df456.js.map"],"audit-logs/actions/packageAddDistTag":["audit-logs/actions/packageAddDistTag.9c25dd522732ab83aac7.js","audit-logs/actions/packageAddDistTag.9c25dd522732ab83aac7.js.map"],"audit-logs/actions/packageDeprecate":["audit-logs/actions/packageDeprecate.63b497c1bdf823317dc8.js","audit-logs/actions/packageDeprecate.63b497c1bdf823317dc8.js.map"],"audit-logs/actions/packagePublish":["audit-logs/actions/packagePublish.78a715e772c06bbe4483.js","audit-logs/actions/packagePublish.78a715e772c06bbe4483.js.map"],"audit-logs/actions/packageRemoveDistTag":["audit-logs/actions/packageRemoveDistTag.903ceb4660dafeedd561.js","audit-logs/actions/packageRemoveDistTag.903ceb4660dafeedd561.js.map"],"audit-logs/actions/packageUnpublish":["audit-logs/actions/packageUnpublish.16d1df03fec4d63f590d.js","audit-logs/actions/packageUnpublish.16d1df03fec4d63f590d.js.map"],"audit-logs/actions/packageUpdateAccess":["audit-logs/actions/packageUpdateAccess.2bf9fad30bf1a61ede48.js","audit-logs/actions/packageUpdateAccess.2bf9fad30bf1a61ede48.js.map"],"audit-logs/actions/teamAddPackage":["audit-logs/actions/teamAddPackage.f8af99be6b16239ca78c.js","audit-logs/actions/teamAddPackage.f8af99be6b16239ca78c.js.map"],"audit-logs/actions/teamAddUser":["audit-logs/actions/teamAddUser.6341ac7ea782689ae91b.js","audit-logs/actions/teamAddUser.6341ac7ea782689ae91b.js.map"],"audit-logs/actions/teamRemovePackage":["audit-logs/actions/teamRemovePackage.936c4445a81fa6e8c1a0.js","audit-logs/actions/teamRemovePackage.936c4445a81fa6e8c1a0.js.map"],"audit-logs/actions/teamRemoveUser":["audit-logs/actions/teamRemoveUser.32174059ba1b1f80123f.js","audit-logs/actions/teamRemoveUser.32174059ba1b1f80123f.js.map"],"audit-logs/actions/teamUpdatePackageAccess":["audit-logs/actions/teamUpdatePackageAccess.64e6080dc87200c5b9b6.js","audit-logs/actions/teamUpdatePackageAccess.64e6080dc87200c5b9b6.js.map"],"audit-logs/audit-logs":["audit-logs/audit-logs.b869d771888ed5bb334b.js","audit-logs/audit-logs.b869d771888ed5bb334b.js.map"],"audit-logs/audit-search-input":["audit-logs/audit-search-input.254caec75db4b6125c38.js","audit-logs/audit-search-input.254caec75db4b6125c38.js.map"],"audit-logs/list":["audit-logs/list.71b679c4d8febf35b4e0.js","audit-logs/list.71b679c4d8febf35b4e0.js.map"],"audit-logs/no-logs":["audit-logs/no-logs.96e021b3c6bdf5516dcd.js","audit-logs/no-logs.96e021b3c6bdf5516dcd.js.map"],"audit-logs/no-logs-with-query":["audit-logs/no-logs-with-query.ca0b97629391629da963.js","audit-logs/no-logs-with-query.ca0b97629391629da963.js.map"],"auth/account-recovery-message":["auth/account-recovery-message.8811bdba4ec229b56326.js","auth/account-recovery-message.8811bdba4ec229b56326.js.map"],"auth/authentication-successful":["auth/authentication-successful.98d68883337c2dd0086e.js","auth/authentication-successful.98d68883337c2dd0086e.js.map"],"auth/email-otp":["auth/email-otp.bcd3856a7608ac2cfb67.js","auth/email-otp.bcd3856a7608ac2cfb67.js.map"],"auth/escalate":["auth/escalate.a0f46ae76cd468cc80e5.js","auth/escalate.a0f46ae76cd468cc80e5.js.map"],"auth/forgot":["auth/forgot.7e3f94b8f0af05795de7.js","auth/forgot.7e3f94b8f0af05795de7.js.map"],"auth/forgot-sent":["auth/forgot-sent.e4254265070d7123f9cc.js","auth/forgot-sent.e4254265070d7123f9cc.js.map"],"auth/forgot-sent-anonymized":["auth/forgot-sent-anonymized.adfe0bfc6f3a519c7871.js","auth/forgot-sent-anonymized.adfe0bfc6f3a519c7871.js.map"],"auth/invite-signup":["auth/invite-signup.ea258a4772fc6050aa10.js","auth/invite-signup.ea258a4772fc6050aa10.js.map"],"auth/liminal-login-footer":["auth/liminal-login-footer.9595439ced5e1639b8c3.js","auth/liminal-login-footer.9595439ced5e1639b8c3.js.map"],"auth/login":["auth/login.e94daf914368cde34070.js","auth/login.e94daf914368cde34070.js.map"],"auth/otp":["auth/otp.195162b3e2738e0ced7d.js","auth/otp.195162b3e2738e0ced7d.js.map"],"auth/password":["auth/password.0f412c56b69e53962180.js","auth/password.0f412c56b69e53962180.js.map"],"auth/recovery-code":["auth/recovery-code.3c24019b482abe7a5cbe.js","auth/recovery-code.3c24019b482abe7a5cbe.js.map"],"auth/recovery-email-otp":["auth/recovery-email-otp.1b042de41e7febae5057.js","auth/recovery-email-otp.1b042de41e7febae5057.js.map"],"auth/reset-password":["auth/reset-password.627905bfe3effb15bfb6.js","auth/reset-password.627905bfe3effb15bfb6.js.map"],"auth/signup":["auth/signup.67707cfbfb236edd281f.js","auth/signup.67707cfbfb236edd281f.js.map"],"auth/test/email-otp-test":["auth/test/email-otp-test.b187b7028c2f2eb6bd3a.js","auth/test/email-otp-test.b187b7028c2f2eb6bd3a.js.map"],"auth/test/escalate-test":["auth/test/escalate-test.9052ef986f0492464fdf.js","auth/test/escalate-test.9052ef986f0492464fdf.js.map"],"auth/test/otp-test":["auth/test/otp-test.382a646ba488c3cc229d.js","auth/test/otp-test.382a646ba488c3cc229d.js.map"],"auth/test/webauthn-login-test":["auth/test/webauthn-login-test.42b3321f1bafaa90ba6e.js","auth/test/webauthn-login-test.42b3321f1bafaa90ba6e.js.map"],"auth/webauthn-cli-login":["auth/webauthn-cli-login.5186665eb5d895762e85.js","auth/webauthn-cli-login.5186665eb5d895762e85.js.map"],"auth/webauthn-login":["auth/webauthn-login.471b3fb2ec0ee3b8910a.js","auth/webauthn-login.471b3fb2ec0ee3b8910a.js.map"],"billing/delete-org":["billing/delete-org.7248a7eed8447fe756cd.js","billing/delete-org.7248a7eed8447fe756cd.js.map"],"billing/detail":["billing/detail.55fe245e653c7bec2de5.js","billing/detail.55fe245e653c7bec2de5.js.map"],"billing/downgrade":["billing/downgrade.bfaf0fa6800e40d27915.js","billing/downgrade.bfaf0fa6800e40d27915.js.map"],"billing/upgrade":["billing/upgrade.7659d6531aad9068bff5.js","billing/upgrade.7659d6531aad9068bff5.js.map"],"contact/contact":["contact/contact.5141261e25bf2bfb94cc.js","contact/contact.5141261e25bf2bfb94cc.js.map"],"contact/recovery-support-v1":["contact/recovery-support-v1.432ac51f462221ba0be5.js","contact/recovery-support-v1.432ac51f462221ba0be5.js.map"],"contact/recovery-support-v2":["contact/recovery-support-v2.af168cb8deec07e975aa.js","contact/recovery-support-v2.af168cb8deec07e975aa.js.map"],"contact/sidebar":["contact/sidebar.14678ce744fa53a13bf0.js","contact/sidebar.14678ce744fa53a13bf0.js.map"],"debug/badstatus":["debug/badstatus.9e00f5e39914a30688c1.js","debug/badstatus.9e00f5e39914a30688c1.js.map"],"debug/detail":["debug/detail.afa571871a0efade08c2.js","debug/detail.afa571871a0efade08c2.js.map"],"debug/failcomponent":["debug/failcomponent.9ca799f538695b9d2e7a.js","debug/failcomponent.9ca799f538695b9d2e7a.js.map"],"dev/choose-template":["dev/choose-template.3229d919350008cac494.js","dev/choose-template.3229d919350008cac494.js.map"],"dsr/dsr-export":["dsr/dsr-export.174fc3c23c5c22638b47.js","dsr/dsr-export.174fc3c23c5c22638b47.js.map"],"egg/egg":["egg/egg.fb3515c1690e2cae5e8c.js","egg/egg.fb3515c1690e2cae5e8c.js.map"],"errors/bad-request":["errors/bad-request.9d43d66d4455bc87402c.js","errors/bad-request.9d43d66d4455bc87402c.js.map"],"errors/not-found":["errors/not-found.5b182f372a4109926bc8.js","errors/not-found.5b182f372a4109926bc8.js.map"],"errors/server":["errors/server.c3bee34a52de9d9eed1e.js","errors/server.c3bee34a52de9d9eed1e.js.map"],"errors/tea-pot":["errors/tea-pot.5cb72cd7dc554e64c1ab.js","errors/tea-pot.5cb72cd7dc554e64c1ab.js.map"],"errors/template":["errors/template.2e5d4f42b3c92bb2e39d.js","errors/template.2e5d4f42b3c92bb2e39d.js.map"],"flatpage/flatpage":["flatpage/flatpage.dbdf3aee3d0e9a4f24af.js","flatpage/flatpage.dbdf3aee3d0e9a4f24af.js.map"],"homepage/homepage":["homepage/homepage.d74ff1fa25ae7ffabd5a.js","homepage/homepage.d74ff1fa25ae7ffabd5a.js.map"],"homepage/homepage-logged-in":["homepage/homepage-logged-in.31d02f515a043b587940.js","homepage/homepage-logged-in.31d02f515a043b587940.js.map"],"orgs/create":["orgs/create.61367587031ff11524f3.js","orgs/create.61367587031ff11524f3.js.map"],"orgs/detail":["orgs/detail.0a3f5560d6f773c02ffb.js","orgs/detail.0a3f5560d6f773c02ffb.js.map"],"orgs/invite":["orgs/invite.36c6a834e6180038d239.js","orgs/invite.36c6a834e6180038d239.js.map"],"orgs/tfa-enforced":["orgs/tfa-enforced.7a1419669b17da615303.js","orgs/tfa-enforced.7a1419669b17da615303.js.map"],"orgs/upgrade":["orgs/upgrade.4fc93431021efb0301a8.js","orgs/upgrade.4fc93431021efb0301a8.js.map"],"package-list/package-list":["package-list/package-list.bc2b45ea652b14b0880a.js","package-list/package-list.bc2b45ea652b14b0880a.js.map"],"package/delete-package":["package/delete-package.1c943f4151f651a9d914.js","package/delete-package.1c943f4151f651a9d914.js.map"],"package/deprecate-package":["package/deprecate-package.7928c188cb2fd3833e7d.js","package/deprecate-package.7928c188cb2fd3833e7d.js.map"],"package/error-message-package":["package/error-message-package.c6888e3076240fafd221.js","package/error-message-package.c6888e3076240fafd221.js.map"],"package/package":["package/package.a2fa5feaa17da98559b8.js","package/package.a2fa5feaa17da98559b8.js.map"],"profile/profile":["profile/profile.f618802fee68fe52340f.js","profile/profile.f618802fee68fe52340f.js.map"],"recovery-codes/show":["recovery-codes/show.28c515a5443197f4812f.js","recovery-codes/show.28c515a5443197f4812f.js.map"],"search/search":["search/search.5a46360e3cd400c3248e.js","search/search.5a46360e3cd400c3248e.js.map"],"searchv2/search":["searchv2/search.e726f14a4423148814b2.js","searchv2/search.e726f14a4423148814b2.js.map"],"settings/change-password":["settings/change-password.e8caf7da7d5962a8da2f.js","settings/change-password.e8caf7da7d5962a8da2f.js.map"],"settings/delete-account":["settings/delete-account.3877618039c3be496091.js","settings/delete-account.3877618039c3be496091.js.map"],"settings/email":["settings/email.42743732ca56b6645326.js","settings/email.42743732ca56b6645326.js.map"],"settings/memberships":["settings/memberships.906ca82f28f826f46583.js","settings/memberships.906ca82f28f826f46583.js.map"],"settings/packages":["settings/packages.94be6f92f1f7f1cb8b76.js","settings/packages.94be6f92f1f7f1cb8b76.js.map"],"settings/profile":["settings/profile.d66f2314225501804707.js","settings/profile.d66f2314225501804707.js.map"],"teams/create":["teams/create.1fc5cf21646edb28d431.js","teams/create.1fc5cf21646edb28d431.js.map"],"teams/detail":["teams/detail.d488d469f98573142ff0.js","teams/detail.d488d469f98573142ff0.js.map"],"teams/list":["teams/list.6d4535d1cc967be63282.js","teams/list.6d4535d1cc967be63282.js.map"],"teams/packages":["teams/packages.c3c4001eb96702ac23d5.js","teams/packages.c3c4001eb96702ac23d5.js.map"],"teams/users":["teams/users.5f73fb06b09387231e95.js","teams/users.5f73fb06b09387231e95.js.map"],"tfa/additional-options":["tfa/additional-options.ef20d5b36fed1370f6dd.js","tfa/additional-options.ef20d5b36fed1370f6dd.js.map"],"tfa/enable":["tfa/enable.cb9ce3bdc28892507287.js","tfa/enable.cb9ce3bdc28892507287.js.map"],"tfa/list":["tfa/list.664d841f9a11c35bd330.js","tfa/list.664d841f9a11c35bd330.js.map"],"tfa/recovery-codes":["tfa/recovery-codes.5f726e90ac80f93d31c2.js","tfa/recovery-codes.5f726e90ac80f93d31c2.js.map"],"tfa/security-key-list":["tfa/security-key-list.71e755c7c36c784ba7e0.js","tfa/security-key-list.71e755c7c36c784ba7e0.js.map"],"tfa/showTFAQRCode":["tfa/showTFAQRCode.f2133ad4c232bd348c94.js","tfa/showTFAQRCode.f2133ad4c232bd348c94.js.map"],"tfa/showTFASuccess":["tfa/showTFASuccess.9ce7c8cbd7a0092ae913.js","tfa/showTFASuccess.9ce7c8cbd7a0092ae913.js.map"],"tfa/tfa-disable":["tfa/tfa-disable.3daa1160dce9349b47bd.js","tfa/tfa-disable.3daa1160dce9349b47bd.js.map"],"tfa/tfa-mode-selection":["tfa/tfa-mode-selection.51fa1545b9d82780c8fc.js","tfa/tfa-mode-selection.51fa1545b9d82780c8fc.js.map"],"tfa/tfa-password-entry":["tfa/tfa-password-entry.7631d86a14180a95c752.js","tfa/tfa-password-entry.7631d86a14180a95c752.js.map"],"tfa/totp":["tfa/totp.78eecd87c32c267b6e07.js","tfa/totp.78eecd87c32c267b6e07.js.map"],"tokens/create":["tokens/create.85f17c3c385308d52d64.js","tokens/create.85f17c3c385308d52d64.js.map"],"tokens/create-gat":["tokens/create-gat.2fed6ff29343d587a8a2.js","tokens/create-gat.2fed6ff29343d587a8a2.js.map"],"tokens/gat-details":["tokens/gat-details.44705fd6532f338329b0.js","tokens/gat-details.44705fd6532f338329b0.js.map"],"tokens/gat/allowed-ip-ranges-input":["tokens/gat/allowed-ip-ranges-input.5a4a53349bb50f9fad1f.js","tokens/gat/allowed-ip-ranges-input.5a4a53349bb50f9fad1f.js.map"],"tokens/gat/constants":["tokens/gat/constants.8a392a2d499d6b3ed1cd.js","tokens/gat/constants.8a392a2d499d6b3ed1cd.js.map"],"tokens/gat/divider":["tokens/gat/divider.7d7f1e1a8b95fd6b2aac.js","tokens/gat/divider.7d7f1e1a8b95fd6b2aac.js.map"],"tokens/gat/expiration-days-input":["tokens/gat/expiration-days-input.ad8b819768f63e218ff2.js","tokens/gat/expiration-days-input.ad8b819768f63e218ff2.js.map"],"tokens/gat/gat-expiration":["tokens/gat/gat-expiration.bf68e22935cc13e6cb07.js","tokens/gat/gat-expiration.bf68e22935cc13e6cb07.js.map"],"tokens/gat/gat-input":["tokens/gat/gat-input.482746d961379d11096f.js","tokens/gat/gat-input.482746d961379d11096f.js.map"],"tokens/gat/organizations-input":["tokens/gat/organizations-input.a3537d8aafbe36514c0c.js","tokens/gat/organizations-input.a3537d8aafbe36514c0c.js.map"],"tokens/gat/organizations-section":["tokens/gat/organizations-section.d6af923365c4e5918223.js","tokens/gat/organizations-section.d6af923365c4e5918223.js.map"],"tokens/gat/packages-and-scopes-input":["tokens/gat/packages-and-scopes-input.df891be53d1da5b97525.js","tokens/gat/packages-and-scopes-input.df891be53d1da5b97525.js.map"],"tokens/gat/packages-and-scopes-section":["tokens/gat/packages-and-scopes-section.e168d6076aae7639544d.js","tokens/gat/packages-and-scopes-section.e168d6076aae7639544d.js.map"],"tokens/gat/permissions-input":["tokens/gat/permissions-input.d4b040a6b1c3c0c7cf20.js","tokens/gat/permissions-input.d4b040a6b1c3c0c7cf20.js.map"],"tokens/gat/section":["tokens/gat/section.0c33f5608f031d26a611.js","tokens/gat/section.0c33f5608f031d26a611.js.map"],"tokens/gat/section-heading":["tokens/gat/section-heading.49f886f66d96ce131cd7.js","tokens/gat/section-heading.49f886f66d96ce131cd7.js.map"],"tokens/gat/selected-items":["tokens/gat/selected-items.95758f28465f9b200e6b.js","tokens/gat/selected-items.95758f28465f9b200e6b.js.map"],"tokens/gat/utils":["tokens/gat/utils.21bd1577ac4a108df9ea.js","tokens/gat/utils.21bd1577ac4a108df9ea.js.map"],"tokens/generate-token":["tokens/generate-token.8850c8d5dbfde716e107.js","tokens/generate-token.8850c8d5dbfde716e107.js.map"],"tokens/list":["tokens/list.d68e41c2141902326b66.js","tokens/list.d68e41c2141902326b66.js.map"],"vouchers/view":["vouchers/view.937b796376045749f937.js","vouchers/view.937b796376045749f937.js.map"]},"hash":"74d74467fb70cd5401ce","name":"package/package","containerId":"app","headerName":"x-spiferack","publicPath":"https://static-production.npmjs.com/"}</script><script crossorigin="anonymous" src="https://static-production.npmjs.com/commons.74d74467fb70cd5401ce.js"></script> <script crossorigin="anonymous" src="https://static-production.npmjs.com/minicssextractbug.d66d46708dd01c18fc7a.js"></script> <script crossorigin="anonymous" src="https://static-production.npmjs.com/package/package.a2fa5feaa17da98559b8.js"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10