mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-05 13:59:30 +08:00
43 lines
No EOL
970 B
Text
43 lines
No EOL
970 B
Text
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 );
|
|
}
|
|
};
|
|
} |