UNPKG

canonical

Version:

Canonical code style linter and formatter for JavaScript, SCSS and CSS.

70 lines (69 loc) 3.58 kB
{ "_args": [ [ "path-is-inside@https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz", "/Users/gajus/Documents/dev/canonical-code-style/canonical" ] ], "_from": "path-is-inside@>=1.0.1 <2.0.0", "_id": "path-is-inside@1.0.1", "_inCache": true, "_location": "/path-is-inside", "_phantomChildren": {}, "_requested": { "name": "path-is-inside", "raw": "path-is-inside@https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz", "rawSpec": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz", "scope": null, "spec": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz", "type": "remote" }, "_requiredBy": [ "/eslint", "/fs-vacuum", "/is-path-inside", "/npm" ], "_resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz", "_shasum": "98d8f1d030bf04bd7aeee4a1ba5485d40318fd89", "_shrinkwrap": null, "_spec": "path-is-inside@https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz", "_where": "/Users/gajus/Documents/dev/canonical-code-style/canonical", "author": { "email": "domenic@domenicdenicola.com", "name": "Domenic Denicola", "url": "http://domenic.me" }, "bugs": { "url": "http://github.com/domenic/path-is-inside/issues" }, "dependencies": {}, "description": "Tests whether one path is inside another path", "devDependencies": { "jshint": "~2.3.0", "mocha": "~1.15.1" }, "homepage": "https://github.com/domenic/path-is-inside#readme", "keywords": [ "directory", "folder", "inside", "path", "relative" ], "license": "WTFPL", "main": "lib/path-is-inside.js", "name": "path-is-inside", "optionalDependencies": {}, "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", "repository": { "type": "git", "url": "git://github.com/domenic/path-is-inside.git" }, "scripts": { "lint": "jshint lib", "test": "mocha" }, "version": "1.0.1" }