File size: 970 Bytes
bc20498 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
import { dirname } from 'path';
import * as fs from 'graceful-fs';
import mkdirp from 'mkdirp';
import resolvePath from '../utils/resolvePath';
import resolvePathAndOptions from '../utils/resolvePathAndOptions';
export function symlink () {
const src = resolvePath( arguments );
return {
to () {
const { options, resolvedPath: dest } = resolvePathAndOptions( arguments );
return new Promise( ( fulfil, reject ) => {
mkdirp( dirname( dest ), err => {
if ( err ) {
reject( err );
} else {
fs.symlink( src, dest, options.type, err => {
if ( err ) {
reject( err );
} else {
fulfil();
}
});
}
});
});
}
};
}
export function symlinkSync () {
const src = resolvePath( arguments );
return {
to () {
const { options, resolvedPath: dest } = resolvePathAndOptions( arguments );
mkdirp.sync( dirname( dest ) );
return fs.symlinkSync( src, dest, options.type );
}
};
} |