0.0.8 • Published 8 years ago

zubu v0.0.8

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

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

OptionsDescription
cwdThe current working directory in which to search. Defaults to process.cwd().
rootThe place where patterns starting with / will be mounted onto.
nocasePerform a case-insensitive match.
followFollow symlinked directories when expanding **
dotInclude .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

OptionsDescription
negateCreate a regex that will match everything except the given pattern.
strictThe regular expression will only return true for exact mateches
flagsDefine the flags you want to use on the generated regex.
nocaseAdds the i flag, to enable case-insensitive matching.

more to be added

Powered by: ZubuZon

0.0.8

8 years ago

0.0.7

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago