glob-parse
Returns a parsed representation of a glob string; does not require Minimatch.
Features
- Works on any string, does not require Minimatch or any other separate glob library.
- Does not perform glob matching: it just parses a glob expression into segments and produces relevant metadata about those segments.
- Pure parsing/tokenization is useful for working with glob expressions. For example:
wildglob uses glob-parse
to parse the different segments of the input glob and then combines the string segments to determine where to start glob matching.
glob2base extracts a base path from a glob. It uses Minimatch to do this, but glob-parse
(the .basename()
function) can also be used to extract the base path from a glob.
API and examples
Basic parsing
var parse = ;console;// [ 'js/', '*', '.js' ]console;// [ 'js/', '**', '/test/', '*', '.js' ]
.basename()
basename()
works like glob2base
:
console;// js/console;// js/console;// lib/
Full type annotations
Pass { full: true } to return the token type annotations.
console;// { parts: [ 'js/t', '[a-z]', 'st/', '*', '.js' ],// types: [ 'str', 'set', 'str', '*', 'str' ] } console;// { parts: [ 'js/', '{src,test}', '/', '*', '.js' ],// types: [ 'str', 'brace', 'str', '*', 'str' ] } console;// { parts: [ 'test/', '+(a|b|c)', '/a', '{/,bc*}', '/', '**' ],// types: [ 'str', 'ext', 'str', 'brace', 'str', '**' ] }