What is contains-path?
The contains-path npm package is used to determine if a given path is inside another path. It is a simple utility that can be used to check if a file or directory is contained within another directory, which can be useful for ensuring proper file structure, security checks, and more.
What are contains-path's main functionalities?
Check if a path contains another path
This feature allows you to check if one path is contained within another. It returns true if the first path is inside the second path, otherwise false.
const containsPath = require('contains-path');
console.log(containsPath('/a/b/c', '/a/b')); // true
console.log(containsPath('/a/b/c', '/x/y')); // false
Other packages similar to contains-path
path-is-inside
This package provides similar functionality to contains-path. It allows you to check if one path is inside another path. The API might differ slightly, but the core functionality is the same.
is-path-inside
Another package that checks if a path is inside another path. It compares to contains-path in terms of functionality but may have different implementation details or additional features.
contains-path
Return true if a file path contains the given path.
Install
Install with npm:
$ npm install --save contains-path
Install with yarn:
$ yarn add contains-path
HEADS UP!
As of v1.0.0, this library no longer uses regex for matching. Please do not hesitate to report any issues or regressiosn.
Usage
var containsPath = require('contains-path');
containsPath('foo/bar', 'foo');
containsPath('foo/bar', 'bar');
containsPath('foo/bar', 'qux');
containsPath('foobar', 'foo');
containsPath('foo.bar', 'foo');
containsPath('foo.bar', 'bar');
containsPath('bar/foo', 'foo');
containsPath('bar/foo', './foo');
Negation
Prefix with !
to invert matching behavior:
containsPath('foo/bar', '!foo');
containsPath('foo/bar', '!qux');
Options
options.nocase
Type: boolean
Default: false
Disable case sensitivity.
containsPath('foo/bar', 'FOO');
containsPath('foo/bar', 'FOO', {nocase: true});
options.partialMatch
Type: boolean
Default: false
Allow "partial" matches:
containsPath('foobar', 'foo');
containsPath('foobar', 'foo', {partialMatch: true});
containsPath('foo.bar', 'foo');
containsPath('foo.bar', 'foo', {partialMatch: true});
About
Related projects
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Contributors
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
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
Author
Jon Schlinkert
License
Copyright © 2017, Jon Schlinkert.
Released under the MIT License.
This file was generated by verb-generate-readme, v0.5.0, on April 17, 2017.