ancesdir
Version:
Find a specific ancestor/root directory given a starting location and a search parameter
3 lines (2 loc) • 971 B
JavaScript
;var e=require("path"),t=require("fs");function n(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var r=n(e),o=n(t),s=new Map;const u=(e,t)=>{throw new Error(`Could not find marker, "${t}", from given starting location "${e}"`)};function i(e,t){r.isAbsolute(e)||(e=>{throw new Error(`The starting path must be absolute, but "${e}" is relative`)})(e);const n=[];let i=null;for(;null==i;){const c=`${e}:${t}`;n.push(c);const a=s.get(c);if(null!=a){i=a;continue}s.has(c)&&u(e,t);const l=r.dirname(e);if(l===e||null==l){for(const e of n)s.set(e,null);u(e,t)}const f=r.join(l,t);if(o.existsSync(f)){for(const e of n)s.set(e,l);i=l}else e=l}return i}module.exports=function e(t,n){return i(t=t||e(__dirname),n=n||"package.json")};
//# sourceMappingURL=index.js.map