regex-dirname

Regular expression to capture a path dirname.

Usage no npm install needed!

<script type="module">
  import regexDirname from 'https://cdn.skypack.dev/regex-dirname';
</script>

README

dirname

NPM version Build Status Coverage Status Dependencies

Regular expression to capture a path dirname.

Installation

$ npm install regex-dirname

Usage

var re = require( 'regex-dirname' );

re

Regular expression to capture a path dirname.

var dir;

// On a POSIX platform...
dir = re.exec( '/foo/bar/index.js' )[ 1 ];
// returns '/foo/bar'

// On a Windows platform...
dir = re.exec( 'C:\\foo\\bar\\index.js' )[ 1 ];
// returns 'C:\\foo\\bar'

re.posix

Regular expression to capture a POSIX path dirname.

re.win32

Regular expression to capture a Windows path dirname.

Notes

  • The main exported regular expression is platform-dependent. If the current process is running on Windows, re === re.win32; otherwise, re === re.posix.

Examples

var re = require( 'regex-dirname' );

var dir;

// Assuming a POSIX platform...
dir = re.exec( '/foo/bar/index.js' )[ 1 ];
console.log( dir );
// returns '/foo/bar'

dir = re.posix.exec( '/foo/bar/home.html' )[ 1 ];
console.log( dir );
// returns '/foo/bar'

dir = re.win32.exec( 'C:\\foo\\bar\\home.html' )[ 1 ];
console.log( dir );
// returns 'C:\\foo\\bar'

To run the example code from the top-level application directory,

$ node ./examples/index.js

Tests

Unit

Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:

$ make test

All new feature development should have corresponding unit tests to validate correct functionality.

Test Coverage

This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:

$ make test-cov

Istanbul creates a ./reports/coverage directory. To access an HTML version of the report,

$ make view-cov

License

MIT license.

Copyright

Copyright © 2015. Athan Reines.