1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const fs_1 = require("fs");
|
4 | const path = require("path");
|
5 | const path_helpers_1 = require("./path-helpers");
|
6 | function findUpSync(fileName, currentDir, workingDir) {
|
7 | let currentDirLocal = currentDir;
|
8 | const fileNames = Array.isArray(fileName) ? fileName : [fileName];
|
9 | const rootPath = path.parse(currentDirLocal).root;
|
10 | do {
|
11 | for (const f of fileNames) {
|
12 | const tempPath = path.isAbsolute(f) ? f : path.resolve(currentDirLocal, f);
|
13 | if (fs_1.existsSync(tempPath)) {
|
14 | return tempPath;
|
15 | }
|
16 | }
|
17 | if (currentDirLocal === rootPath) {
|
18 | break;
|
19 | }
|
20 | currentDirLocal = path.dirname(currentDirLocal);
|
21 | } while (currentDirLocal && (path_helpers_1.isSamePaths(workingDir, currentDirLocal) || path_helpers_1.isInFolder(workingDir, currentDirLocal)));
|
22 | return null;
|
23 | }
|
24 | exports.findUpSync = findUpSync;
|
25 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC11cC5qcyIsInNvdXJjZVJvb3QiOiIuLyIsInNvdXJjZXMiOlsic3JjL3V0aWxzL2ZpbmQtdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQkFBZ0M7QUFDaEMsNkJBQTZCO0FBRTdCLGlEQUF5RDtBQUV6RCxTQUFnQixVQUFVLENBQUMsUUFBMkIsRUFBRSxVQUFrQixFQUFFLFVBQWtCO0lBQzFGLElBQUksZUFBZSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFFbEQsR0FBRztRQUNDLEtBQUssTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFO1lBQ3ZCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDM0UsSUFBSSxlQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQ3RCLE9BQU8sUUFBUSxDQUFDO2FBQ25CO1NBQ0o7UUFFRCxJQUFJLGVBQWUsS0FBSyxRQUFRLEVBQUU7WUFDOUIsTUFBTTtTQUNUO1FBRUQsZUFBZSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7S0FDbkQsUUFBUSxlQUFlLElBQUksQ0FBQywwQkFBVyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsSUFBSSx5QkFBVSxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQyxFQUFFO0lBRW5ILE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFyQkQsZ0NBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IGlzSW5Gb2xkZXIsIGlzU2FtZVBhdGhzIH0gZnJvbSAnLi9wYXRoLWhlbHBlcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZmluZFVwU3luYyhmaWxlTmFtZTogc3RyaW5nIHwgc3RyaW5nW10sIGN1cnJlbnREaXI6IHN0cmluZywgd29ya2luZ0Rpcjogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgbGV0IGN1cnJlbnREaXJMb2NhbCA9IGN1cnJlbnREaXI7XG4gICAgY29uc3QgZmlsZU5hbWVzID0gQXJyYXkuaXNBcnJheShmaWxlTmFtZSkgPyBmaWxlTmFtZSA6IFtmaWxlTmFtZV07XG4gICAgY29uc3Qgcm9vdFBhdGggPSBwYXRoLnBhcnNlKGN1cnJlbnREaXJMb2NhbCkucm9vdDtcblxuICAgIGRvIHtcbiAgICAgICAgZm9yIChjb25zdCBmIG9mIGZpbGVOYW1lcykge1xuICAgICAgICAgICAgY29uc3QgdGVtcFBhdGggPSBwYXRoLmlzQWJzb2x1dGUoZikgPyBmIDogcGF0aC5yZXNvbHZlKGN1cnJlbnREaXJMb2NhbCwgZik7XG4gICAgICAgICAgICBpZiAoZXhpc3RzU3luYyh0ZW1wUGF0aCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGVtcFBhdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY3VycmVudERpckxvY2FsID09PSByb290UGF0aCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBjdXJyZW50RGlyTG9jYWwgPSBwYXRoLmRpcm5hbWUoY3VycmVudERpckxvY2FsKTtcbiAgICB9IHdoaWxlIChjdXJyZW50RGlyTG9jYWwgJiYgKGlzU2FtZVBhdGhzKHdvcmtpbmdEaXIsIGN1cnJlbnREaXJMb2NhbCkgfHwgaXNJbkZvbGRlcih3b3JraW5nRGlyLCBjdXJyZW50RGlyTG9jYWwpKSk7XG5cbiAgICByZXR1cm4gbnVsbDtcbn1cbiJdfQ== |
\ | No newline at end of file |