sd

symlink-dir

Cross-platform directory symlinking

Showing:

Popularity

Downloads/wk

25.2K

GitHub Stars

41

Maintenance

Last Commit

5mos ago

Contributors

5

Package

Dependencies

2

Size (min+gzip)

1.4KB

License

MIT

Type Definitions

Built-In

Tree-Shakeable

No?

Categories

Readme

symlink-dir

Cross-platform directory symlinking

npm version Build Status Build Status on Windows

  • Always uses "junctions" on Windows. Even though support for "symbolic links" was added in Vista+, users by default lack permission to create them
  • Any file or directory, that has the destination name, is renamed before creating the link

Installation

<pnpm|yarn|npm> add symlink-dir

CLI Usage

Lets suppose you'd like to self-require your package. You can link it to its own node_modules:

# from -> to
symlink-dir . node_modules/my-package

API Usage

'use strict'
const symlinkDir = require('symlink-dir')
const path = require('path')

symlinkDir('src', 'node_modules/src')
  .then(result => {
    console.log(result)
    //> { reused: false }

    return symlinkDir('src', 'node_modules/src')
  })
  .then(result => {
    console.log(result)
    //> { reused: true }
  })
  .catch(err => console.error(err))

API

symlinkDir(src, dest): Promise<{ reused: boolean, warn?: string }>

Creates a symlink in dest that points to src.

Result:

  • reused - boolean - is true if the symlink already existed pointing to the src.
  • warn - string - any issues that happened during linking (it does mean a failure).

License

MIT © Zoltan Kochan

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100