UNPKG

@zkochan/pnpm

Version:

A fast implementation of npm install

30 lines (21 loc) 653 B
var path = require('path'); var urlJoin = require('url-join'); var asArray = require('as-array'); var _isUrl = require('is-url'); var exports = module.exports = function () { var paths = asArray(arguments).map(replaceUndefined); return isUrl(paths[0]) ? urlJoin.apply(urlJoin, paths) : path.join.apply(path, paths); }; var isUrl = exports.isUrl = function (url) { return _isUrl(url) || url === 'http://' || url === 'https://' || url === 'ftp://'; }; var replaceUndefined = exports.replaceUndefined = function (p, idx, paths) { return (p === undefined || p === null) ? isUrl(paths[0]) ? '/' : path.sep : p; }