filewrap

1.0.0 • Public • Published

Filewrap

npm tests dependencies coverage

A light wrapper for files to make absolute and relative paths easier

Note: This project is in early development, and versioning is a little different. Read this for more details.

Why should you care?

Sometimes you will have a project where you need to transform paths to and from relative/absolute frequently. It's super annoying to continuously run something like absolutePath.replace(rootPath, '') and path.join(rootPath, relativePath) whenever this is needed. To make this cleaner and easier, you can use a small wrapper around the file that exposes both paths.

Installation

npm install filewrap -S

Note: This project is compatible with node v6+ only

Usage

const File = require('filewrap')
 
const f = new File('/Users/doge/projects', 'personal-site/index.html')
f.relative // personal-site/index.html
f.absolute // /Users/doge/projects/personal-site/index.html

If you are starting with an absolute path, you can initialize with the absolute path in the same way, filewrap will figure out the relative path for you and make sure it's formatted consistently.

const File = require('filewrap')
 
const f = new File('/Users/doge/projects', '/Users/doge/projects/personal-site/index.html')
f.relative // personal-site/index.html
f.absolute // /Users/doge/projects/personal-site/index.html

Note that your relative path will never include a leading slash no matter how you initialize, so you can count on this being consistent. And your absolute path will be the path.join result of your root and relative paths. Platform-specific directory dividers will always be fully respected.

Map Helpers

Now if you have an array of these wrapped files, you may want to quickly unwrap them all into relative or absolute paths. Filewrap also exposes a couple convenient helpers that make this clear and simple:

const {getRelative, getAbsolute} = require('filewrap')
 
arrayOfFilewrapObjects.map(getRelative)
arrayOfFilewrapObjects.map(getAbsolute)

License & Contributing

Readme

Keywords

none

Package Sidebar

Install

npm i filewrap

Weekly Downloads

4

Version

1.0.0

License

MIT

Last publish

Collaborators

  • jescalan