zubu
v0.0.8
Published
a little file globber for nodeJS
Downloads
7
Readme
Zubu
WORK IN PROGRESS!!!
Zubu is new glob library containing different glob utilities in the same toolbox. It's a mix of node-glob and minimatch, but build for performance and fleksibility. It's modular, so you can extend it yourself.
The files will be uploaded on Github soon!
Install
Install with npm
$ npm i zubu --save
Usage
The first thing you need to do is to import Zubu into your project:
// ES module
import { isMatch, glob, makeRegex } from 'zubu'
// or ...
// commonJS
var zubu = require('zubu');
var isMatch = zubu.isMatch;
var glob = zubu.glob;
var makeRegEx = zubu.makeRegex;
Zubu.glob()
Zubu.glob()
is a speedy file globbing function for NodejS that allows you to match files using a Glob pattern.
Note This function is async for now.
glob('*.js', {}, function(err, files) {
console.log(files);
});
Options
| Options | Description |
| ----------- | -------------------------------------------------------------------------------- |
| cwd
| The current working directory in which to search. Defaults to process.cwd(). |
| root
| The place where patterns starting with / will be mounted onto. |
| nocase
| Perform a case-insensitive match. |
| follow
| Follow symlinked directories when expanding ** |
| dot
| Include .dot files in normal matches and globstar matches. |
more to be added...
Zubu.filter()
... soon!!
Zubu.isMatch()
Match against the list of files, in the style of a regular string or glob pattern. Zubu.isMatch()
return true if the filename matches the pattern, or false otherwise.
isMatch('a/.c.md', 'a/.c.md') //=> true
isMatch('.verb.md', '*.md'); //=> false
isMatch('.verb.md', '*.md', {dot: true}); //=> true
Zubu.makeRegex()
Zubu.makeRegex()
makes a regular expression object from the pattern. It doesn't include the same features as similiar
modules, because it's optimized mostly for internal usage. However. You can extend the Zubu.makeRegex()
functionality by adding
your own regular expression pattern.
Your pattern will be used by both Zubu.isMatch()
and Zubu.glob()
.
For every regular expression you are adding, it has to be wrapped inside and object literal and must contain this properties:
- regex
- replace
The regex
property is the regex itself, while the replace
property has to be a function with two arguments:
- token
- pattern
token
is the string, and pattern
is the regExp. Both returned from Zubu.makeRegex()
.
// add a single regEx pattern
Zubu.addRegex( {
regex: /^\*\*\//,
replace function(token, pattern) {
//.. do some magic stuff, and return the result
}
});
// add multiple regEx patterns
Zubu.addRegex([
{
regex: /^\*\*\//,
replace function(token, pattern) {
//.. do some magic stuff, and return the result
}
},
{
regex: /^\*\*\//,
replace function(token, pattern) {
//.. do some magic stuff, and return the result
}
});
Options
| Options | Description |
| ------------- | -------------------------------------------------------------------------- |
| negate
| Create a regex that will match everything except the given pattern. |
| strict
| The regular expression will only return true for exact mateches |
| flags
| Define the flags you want to use on the generated regex. |
| nocase
| Adds the i flag, to enable case-insensitive matching. |
more to be added
Powered by: ZubuZon