home

Gets the home dir or resolves home directories: home.resolve('~/path/to').

home

A tiny utility to get the home directory, or resolve a path begins with '~', with cross-platform compatibility.

$ npm install home --save
var home = require('home');
 
home(); // '/Users/kael' 
 
var some_path = '~/workspace';
home.resolve(some_path); // '/Users/kael/workspace' 
home.resolve(some_path, 'abc'); // '/Users/kael/workspace/abc' 

Returns path the home directory specified by operating system.

Resolves to to an absolute path, if to begins with '~', it will be cooked before path.resolve()d.

home.resolve('~/file'); // 'Users/kael/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('foo/bar', '~/file/', '..', 'a/../subfile');
// -> '/Users/kael/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

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');

May be freely distributed under the MIT license.

Copyright (c) Kael Zhang and other contributors.