UNPKG

lib-tools

Version:

The lib-tools helps you simplify the build, bundle, test and npm packaging workflows for Typescript, JavaScript, Angular library projects and assets module projects.

51 lines 5.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isInFolder = exports.isSamePaths = exports.normalizePath = void 0; const path = require("path"); function normalizePath(p) { if (!p) { return ''; } p = path.normalize(p); p = p .replace(/\\/g, '/') .replace(/^\.\//, '') .replace(/(\/|\\)+$/, ''); if (p === '.' || p === './') { return ''; } return p; } exports.normalizePath = normalizePath; function isSamePaths(p1, p2) { if (p1 === p2) { return true; } p1 = normalizePath(p1); p2 = normalizePath(p2); return p1.toLowerCase() === p2.toLowerCase(); } exports.isSamePaths = isSamePaths; function isInFolder(parentDir, checkDir) { parentDir = normalizePath(parentDir).toLowerCase(); checkDir = normalizePath(checkDir).toLowerCase(); if (!checkDir || parentDir === checkDir) { return false; } const checkDirHome = normalizePath(path.parse(checkDir).root); if (checkDir === checkDirHome || checkDir === checkDirHome || checkDir === '.' || checkDir === './') { return false; } let tempCheckDir = checkDir; let prevTempCheckDir = ''; while (tempCheckDir && tempCheckDir !== checkDirHome && tempCheckDir !== '.' && tempCheckDir !== prevTempCheckDir) { prevTempCheckDir = tempCheckDir; tempCheckDir = normalizePath(path.dirname(tempCheckDir)); if (tempCheckDir === parentDir || tempCheckDir === parentDir) { return true; } } return false; } exports.isInFolder = isInFolder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6Ii4vIiwic291cmNlcyI6WyJ1dGlscy9wYXRoLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBRTdCLFNBQWdCLGFBQWEsQ0FBQyxDQUFTO0lBQ25DLElBQUksQ0FBQyxDQUFDLEVBQUU7UUFDSixPQUFPLEVBQUUsQ0FBQztLQUNiO0lBRUQsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFdEIsQ0FBQyxHQUFHLENBQUM7U0FDQSxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztTQUNuQixPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztTQUNwQixPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ3pCLE9BQU8sRUFBRSxDQUFDO0tBQ2I7SUFFRCxPQUFPLENBQUMsQ0FBQztBQUNiLENBQUM7QUFoQkQsc0NBZ0JDO0FBRUQsU0FBZ0IsV0FBVyxDQUFDLEVBQVUsRUFBRSxFQUFVO0lBQzlDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxFQUFFLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLEVBQUUsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFdkIsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ2pELENBQUM7QUFURCxrQ0FTQztBQUVELFNBQWdCLFVBQVUsQ0FBQyxTQUFpQixFQUFFLFFBQWdCO0lBQzFELFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkQsUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUVqRCxJQUFJLENBQUMsUUFBUSxJQUFJLFNBQVMsS0FBSyxRQUFRLEVBQUU7UUFDckMsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5RCxJQUFJLFFBQVEsS0FBSyxZQUFZLElBQUksUUFBUSxLQUFLLFlBQVksSUFBSSxRQUFRLEtBQUssR0FBRyxJQUFJLFFBQVEsS0FBSyxJQUFJLEVBQUU7UUFDakcsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxJQUFJLFlBQVksR0FBRyxRQUFRLENBQUM7SUFDNUIsSUFBSSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDMUIsT0FBTyxZQUFZLElBQUksWUFBWSxLQUFLLFlBQVksSUFBSSxZQUFZLEtBQUssR0FBRyxJQUFJLFlBQVksS0FBSyxnQkFBZ0IsRUFBRTtRQUMvRyxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7UUFDaEMsWUFBWSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFFekQsSUFBSSxZQUFZLEtBQUssU0FBUyxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7WUFDMUQsT0FBTyxJQUFJLENBQUM7U0FDZjtLQUNKO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQztBQXpCRCxnQ0F5QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplUGF0aChwOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghcCkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcCA9IHBhdGgubm9ybWFsaXplKHApO1xuXG4gICAgcCA9IHBcbiAgICAgICAgLnJlcGxhY2UoL1xcXFwvZywgJy8nKVxuICAgICAgICAucmVwbGFjZSgvXlxcLlxcLy8sICcnKVxuICAgICAgICAucmVwbGFjZSgvKFxcL3xcXFxcKSskLywgJycpO1xuICAgIGlmIChwID09PSAnLicgfHwgcCA9PT0gJy4vJykge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NhbWVQYXRocyhwMTogc3RyaW5nLCBwMjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHAxID09PSBwMikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwMSA9IG5vcm1hbGl6ZVBhdGgocDEpO1xuICAgIHAyID0gbm9ybWFsaXplUGF0aChwMik7XG5cbiAgICByZXR1cm4gcDEudG9Mb3dlckNhc2UoKSA9PT0gcDIudG9Mb3dlckNhc2UoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSW5Gb2xkZXIocGFyZW50RGlyOiBzdHJpbmcsIGNoZWNrRGlyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBwYXJlbnREaXIgPSBub3JtYWxpemVQYXRoKHBhcmVudERpcikudG9Mb3dlckNhc2UoKTtcbiAgICBjaGVja0RpciA9IG5vcm1hbGl6ZVBhdGgoY2hlY2tEaXIpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAoIWNoZWNrRGlyIHx8IHBhcmVudERpciA9PT0gY2hlY2tEaXIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrRGlySG9tZSA9IG5vcm1hbGl6ZVBhdGgocGF0aC5wYXJzZShjaGVja0Rpcikucm9vdCk7XG4gICAgaWYgKGNoZWNrRGlyID09PSBjaGVja0RpckhvbWUgfHwgY2hlY2tEaXIgPT09IGNoZWNrRGlySG9tZSB8fCBjaGVja0RpciA9PT0gJy4nIHx8IGNoZWNrRGlyID09PSAnLi8nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBsZXQgdGVtcENoZWNrRGlyID0gY2hlY2tEaXI7XG4gICAgbGV0IHByZXZUZW1wQ2hlY2tEaXIgPSAnJztcbiAgICB3aGlsZSAodGVtcENoZWNrRGlyICYmIHRlbXBDaGVja0RpciAhPT0gY2hlY2tEaXJIb21lICYmIHRlbXBDaGVja0RpciAhPT0gJy4nICYmIHRlbXBDaGVja0RpciAhPT0gcHJldlRlbXBDaGVja0Rpcikge1xuICAgICAgICBwcmV2VGVtcENoZWNrRGlyID0gdGVtcENoZWNrRGlyO1xuICAgICAgICB0ZW1wQ2hlY2tEaXIgPSBub3JtYWxpemVQYXRoKHBhdGguZGlybmFtZSh0ZW1wQ2hlY2tEaXIpKTtcblxuICAgICAgICBpZiAodGVtcENoZWNrRGlyID09PSBwYXJlbnREaXIgfHwgdGVtcENoZWNrRGlyID09PSBwYXJlbnREaXIpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xufVxuIl19