mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
2.6 KiB
43 lines
2.6 KiB
{
|
|
"name": "path-is-inside",
|
|
"description": "Tests whether one path is inside another path",
|
|
"keywords": [
|
|
"path",
|
|
"directory",
|
|
"folder",
|
|
"inside",
|
|
"relative"
|
|
],
|
|
"version": "1.0.1",
|
|
"author": {
|
|
"name": "Domenic Denicola",
|
|
"email": "domenic@domenicdenicola.com",
|
|
"url": "http://domenic.me"
|
|
},
|
|
"license": "WTFPL",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git://github.com/domenic/path-is-inside.git"
|
|
},
|
|
"bugs": {
|
|
"url": "http://github.com/domenic/path-is-inside/issues"
|
|
},
|
|
"main": "lib/path-is-inside.js",
|
|
"scripts": {
|
|
"test": "mocha",
|
|
"lint": "jshint lib"
|
|
},
|
|
"devDependencies": {
|
|
"jshint": "~2.3.0",
|
|
"mocha": "~1.15.1"
|
|
},
|
|
"readme": "# Is This Path Inside This Other Path?\n\nIt turns out this question isn't trivial to answer using Node's built-in path APIs. A naive `indexOf`-based solution will fail sometimes on Windows, which is case-insensitive (see e.g. [isaacs/npm#4214][]). You might then think to be clever with `path.resolve`, but you have to be careful to account for situations whether the paths have different drive letters, or else you'll cause bugs like [isaacs/npm#4313][]. And let's not even get started on trailing slashes.\n\nThe **path-is-inside** package will give you a robust, cross-platform way of detecting whether a given path is inside another path.\n\n## Usage\n\nPretty simple. First the path being tested; then the potential parent. Like so:\n\n```js\nvar pathIsInside = require(\"path-is-inside\");\n\npathIsInside(\"/x/y/z\", \"/x/y\") // true\npathIsInside(\"/x/y\", \"/x/y/z\") // false\n```\n\n## OS-Specific Behavior\n\nLike Node's built-in path module, path-is-inside treats all file paths on Windows as case-insensitive, whereas it treats all file paths on *-nix operating systems as case-sensitive. Keep this in mind especially when working on a Mac, where, despite Node's defaults, the OS usually treats paths case-insensitively.\n\nIn practice, this means:\n\n```js\n// On Windows\n\npathIsInside(\"C:\\\\X\\\\Y\\\\Z\", \"C:\\\\x\\\\y\") // true\n\n// On *-nix, including Mac OS X\n\npathIsInside(\"/X/Y/Z\", \"/x/y\") // false\n```\n\n[isaacs/npm#4214]: https://github.com/isaacs/npm/pull/4214\n[isaacs/npm#4313]: https://github.com/isaacs/npm/issues/4313\n",
|
|
"readmeFilename": "README.md",
|
|
"homepage": "https://github.com/domenic/path-is-inside",
|
|
"_id": "path-is-inside@1.0.1",
|
|
"dist": {
|
|
"shasum": "c5e6c4764c4cd41f2ac839c53be5621d085726b3"
|
|
},
|
|
"_from": "path-is-inside@1.0.1",
|
|
"_resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz"
|
|
}
|
|
|