path-starts-with

    2.0.0 • Public • Published

    path-starts-with Donate NPM version NPM monthly downloads NPM total downloads Linux Build Status

    Returns true if a filepath starts with the given string. Works with windows and posix/unix paths.

    Please consider following this project's author, Jon Schlinkert, and consider starring the project to show your ❤️ and support.

    Install

    Install with npm:

    $ npm install --save path-starts-with

    Usage

    var startsWith = require('path-starts-with');
     
    console.log(startsWith('foo/bar', 'foo')); //=> true
    console.log(startsWith('foo/bar', 'bar')); //=> false

    Negation

    Prefix the substring with ! to return true when the path does not start with the substring.

    console.log(startsWith('foo/bar', '!foo')); //=> false
    console.log(startsWith('foo/bar', '!bar')); //=> true

    options

    options.nocase

    Type: boolean

    Default: false

    Disable case sensitivity.

    startsWith('foo/bar', 'FOO');                 
    //=> false
    startsWith('foo/bar', 'FOO', {nocase: true}); 
    //=> true

    options.partialMatch

    Type: boolean

    Default: false

    Allow partial matches:

    startsWith('foobar', 'foo');  //=> false                 
    startsWith('foo.bar', 'foo'); //=> false                 
     
    startsWith('foobar', 'foo', {partialMatch: true});  //=> true 
    startsWith('foo.bar', 'foo', {partialMatch: true}); //=> true 

    Comparison behavior

    Windows paths

    Backslashes are converted to forward slashes before the comparison is done. Thus, both of the following would be true:

    console.log(startsWith('foo\\bar', 'foo/bar')); //=> true
    console.log(startsWith('foo/bar', 'foo\\bar')); //=> true

    Leading dot-slash

    Leading ./ is stripped from both the filepath and substring. Thus, both of the following would be true:

    console.log(startsWith('./foo/bar', 'foo')); //=> true
    console.log(startsWith('foo/bar', './foo')); //=> true

    Leading slashes

    When the substring is prefixed with leading slashes, the number of leading slashes must match exactly.

    console.log(startsWith('/foo', '/foo'));      //=> true
    console.log(startsWith('/foo/bar', '/foo'));  //=> true
     
    console.log(startsWith('/foo/bar', '//foo')); //=> false
    console.log(startsWith('//foo/bar', '/foo')); //=> false

    About

    Contributing

    Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

    Please read the contributing guide for advice on opening issues, pull requests, and coding standards.

    Running Tests

    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:

    $ npm install && npm test
    Building docs

    (This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)

    To generate the readme, run the following command:

    $ npm install -g verbose/verb#dev verb-generate-readme && verb

    Related projects

    You might also be interested in these projects:

    Author

    Jon Schlinkert

    License

    Copyright © 2019, Jon Schlinkert. Released under the MIT License.


    This file was generated by verb-generate-readme, v0.8.0, on April 29, 2019.

    Install

    npm i path-starts-with

    DownloadsWeekly Downloads

    177,081

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    10 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar