home
Gets the home dir or resolves home directories.
Last updated a year ago by kael .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install home 
SYNC missed versions from official npm registry.

Build Status Coverage

home

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

Since 2.0.0, home only supports node >= 5.12.0

Install

$ npm i home

Usage

const home = require('home')

home()              // Mac && Linux: '/Users/kael', Windows: '\\Users\\kael'
home.resolve('~')   // '/Users/kael'

const some_path = '~/workspace'
home.resolve(some_path)         // '/Users/kael/workspace'
home.resolve(some_path, 'abc')  // '/Users/kael/workspace/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') // '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()
// -> current directory

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

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.

Current Tags

  • 2.0.0                                ...           latest (a year ago)

11 Versions

  • 2.0.0                                ...           a year ago
  • 1.0.1                                ...           5 years ago
  • 0.1.8                                ...           5 years ago
  • 0.1.7                                ...           5 years ago
  • 0.1.6                                ...           5 years ago
  • 0.1.5                                ...           5 years ago
  • 0.1.4                                ...           5 years ago
  • 0.1.3                                ...           6 years ago
  • 0.1.2                                ...           6 years ago
  • 0.1.1                                ...           6 years ago
  • 0.1.0                                ...           6 years ago

Copyright 2014 - 2017 © taobao.org |