home
A tiny utility to get the home directory, or resolve a path begins with '~'
, with cross-platform compatibility.
Install
$ npm install home --save
Usage
var home = require('home');
home();
home.resolve('~');
var some_path = '~/workspace';
home.resolve(some_path);
home.resolve(some_path, 'abc');
home()
Returns path
the home directory specified by operating system.
home.resolve([from...], to)
Resolves to
to an absolute path, if to
begins with '~'
, it will be cooked before path.resolve()
d.
home.resolve('~/file');
The usage of home.resolve
is very similar to path.resolve
Another way to think of it is as a sequence of cd commands in a shell.
home.resolve();
home.resolve('foo/bar', '~/file/', '..', 'a/../subfile');
Is equivalent to:
home.resolve('foo/bar', '/Users/kael/file/', '..', 'a/../subfile');
Is similar to:
cd foo/bar
cd ~/file/
cd ..
cd a/../subfile
pwd
What about home.relative()
, home.join()
?
For now, home
doesn't support those, which I thought is unnecessary to make this module too complicated.
I'd rather home.resolve()
the directories, before path.join()
.
var dir = '~/dir';
dir = home.resolve(dir);
path.join(dir, './abc');
License
May be freely distributed under the MIT license.
Copyright (c) Kael Zhang and other contributors.