Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shinnn/node-strip-dirs
Remove leading directory components from a path, like tar(1)'s --strip-components option
https://github.com/shinnn/node-strip-dirs
cross-platform directory javascript nodejs path path-manipulation string strip tar
Last synced: 26 days ago
JSON representation
Remove leading directory components from a path, like tar(1)'s --strip-components option
- Host: GitHub
- URL: https://github.com/shinnn/node-strip-dirs
- Owner: shinnn
- License: isc
- Created: 2014-08-18T18:53:56.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2018-10-24T02:19:41.000Z (about 6 years ago)
- Last Synced: 2024-09-19T13:50:21.101Z (about 2 months ago)
- Topics: cross-platform, directory, javascript, nodejs, path, path-manipulation, string, strip, tar
- Language: JavaScript
- Homepage:
- Size: 90.8 KB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# strip-dirs
[![npm version](https://img.shields.io/npm/v/strip-dirs.svg)](https://www.npmjs.com/package/strip-dirs)
[![Build Status](https://img.shields.io/travis/shinnn/node-strip-dirs.svg)](https://travis-ci.org/shinnn/node-strip-dirs)
[![Coverage Status](https://img.shields.io/coveralls/shinnn/node-strip-dirs.svg)](https://coveralls.io/github/shinnn/node-strip-dirs)Remove leading directory components from a path, like [tar(1)](http://linuxcommand.org/lc3_man_pages/tar1.html)'s `--strip-components` option
```javascript
const stripDirs = require('strip-dirs');stripDirs('foo/bar/baz', 1); //=> 'bar/baz'
stripDirs('foo/bar/baz', 2); //=> 'baz'
stripDirs('foo/bar/baz', 999); //=> 'baz'
```## Installation
[Use]((https://docs.npmjs.com/cli/install)) [npm](https://docs.npmjs.com/getting-started/what-is-npm).
```
npm install strip-dirs
```## API
```javascript
const stripDirs = require('strip-dirs');
```### stripDirs(*path*, *count* [, *option*])
*path*: `string` (A relative path)
*count*: `integer` (>= `0`)
*option*: `Object`
Return: `string`It removes directory components from the beginning of the *path* by *count*.
```javascript
const stripDirs = require('strip-dirs');stripDirs('foo/bar', 1); //=> 'bar'
stripDirs('foo/bar/baz', 2); //=> 'bar'
stripDirs('foo/././/bar/./', 1); //=> 'bar'
stripDirs('foo/bar', 0); //=> 'foo/bar'stripDirs('/foo/bar', 1) // throw an error because the path is an absolute path
```If you want to remove all directory components certainly, use [`path.basename`](https://nodejs.org/api/path.html#path_path_basename_path_ext) instead of this module.
#### option.disallowOverflow
Type: `boolean`
Default: `false`By default, it keeps the last path component when path components are fewer than the *count*.
If this option is enabled, it throws an error in this situation.
```javascript
stripDirs('foo/bar/baz', 9999); //=> 'baz'stripDirs('foo/bar/baz', 9999, {disallowOverflow: true}); // throws an range error
```## License
[ISC License](./LICENSE) © 2017 - 2018 Shinnosuke Watanabe