symlink-dir
symlink-dir copied to clipboard
Cross-platform directory symlinking
symlink-dir
Cross-platform directory symlinking
- 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 - istrue
if the symlink already existed pointing to thesrc
. -
warn
- string - any issues that happened during linking (it does mean a failure).
License
MIT © Zoltan Kochan