Sha256: de016196c3738aefbaa5a40a7f47df1b6a394a084cd25750cd7c2b2436a0f230

Contents?: true

Size: 802 Bytes

Versions: 99

Compression:

Stored size: 802 Bytes

Contents

var path = require('path');

module.exports = function (basedir, relfiles) {
    if (relfiles) {
        var files = relfiles.map(function (r) {
            return path.resolve(basedir, r);
        });
    }
    else {
        var files = basedir;
    }
    
    var res = files.slice(1).reduce(function (ps, file) {
        if (!file.match(/^([A-Za-z]:)?\/|\\/)) {
            throw new Error('relative path without a basedir');
        }
        
        var xs = file.split(/\/+|\\+/);
        for (
            var i = 0;
            ps[i] === xs[i] && i < Math.min(ps.length, xs.length);
            i++
        );
        return ps.slice(0, i);
    }, files[0].split(/\/+|\\+/));
    
    // Windows correctly handles paths with forward-slashes
    return res.length > 1 ? res.join('/') : '/'
};

Version data entries

99 entries across 98 versions & 18 rubygems

Version Path
immosquare-cleaner-0.1.67 node_modules/commondir/index.js
immosquare-cleaner-0.1.66 node_modules/commondir/index.js
immosquare-cleaner-0.1.65 node_modules/commondir/index.js
immosquare-cleaner-0.1.64 node_modules/commondir/index.js
immosquare-cleaner-0.1.63 node_modules/commondir/index.js
immosquare-cleaner-0.1.62 node_modules/commondir/index.js
immosquare-cleaner-0.1.61 node_modules/commondir/index.js
immosquare-cleaner-0.1.60 node_modules/commondir/index.js
immosquare-cleaner-0.1.59 node_modules/commondir/index.js
immosquare-cleaner-0.1.58 node_modules/commondir/index.js
immosquare-cleaner-0.1.57 node_modules/commondir/index.js
immosquare-cleaner-0.1.56 node_modules/commondir/index.js
immosquare-cleaner-0.1.55 node_modules/commondir/index.js
immosquare-cleaner-0.1.54 node_modules/commondir/index.js
immosquare-cleaner-0.1.53 node_modules/commondir/index.js
immosquare-cleaner-0.1.52 node_modules/commondir/index.js
immosquare-cleaner-0.1.51 node_modules/commondir/index.js
clapton-0.0.26 lib/clapton/javascripts/node_modules/commondir/index.js
clapton-0.0.25 lib/clapton/javascripts/node_modules/commondir/index.js
immosquare-cleaner-0.1.50 node_modules/commondir/index.js