PHP WebShell
Текущая директория: /opt/BitGoJS/node_modules/@lerna/symlink-binary
Просмотр файла: symlink-binary.js
"use strict";
const fs = require("fs-extra");
const path = require("path");
const pMap = require("p-map");
const { Package } = require("@lerna/package");
const { createSymlink } = require("@lerna/create-symlink");
module.exports.symlinkBinary = symlinkBinary;
/**
* Symlink bins of srcPackage to node_modules/.bin in destPackage
* @param {Object|string} srcPackageRef
* @param {Object|string} destPackageRef
* @returns {Promise}
*/
function symlinkBinary(srcPackageRef, destPackageRef) {
return Promise.all([Package.lazy(srcPackageRef), Package.lazy(destPackageRef)]).then(
([srcPackage, destPackage]) => {
const actions = Object.keys(srcPackage.bin).map((name) => {
const srcLocation = srcPackage.contents
? path.resolve(srcPackage.location, srcPackage.contents)
: srcPackage.location;
const src = path.join(srcLocation, srcPackage.bin[name]);
const dst = path.join(destPackage.binLocation, name);
// Symlink all declared binaries, even if they don't exist (yet). We will
// assume the package author knows what they're doing and that the binaries
// will be generated during a later build phase (potentially source compiled from
// another language).
return { src, dst };
});
if (actions.length === 0) {
return Promise.resolve();
}
return fs.mkdirp(destPackage.binLocation).then(() =>
pMap(actions, (meta) => {
if (meta) {
return createSymlink(meta.src, meta.dst, "exec");
}
})
);
}
);
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!