UNPKG

spinjs

Version:

[![Join the chat at https://gitter.im/sysgears/spinjs](https://badges.gitter.im/sysgears/spinjs.svg)](https://gitter.im/sysgears/spinjs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![npm version](https://badge.fury.io/js/spi

32 lines (27 loc) 693 B
import * as fs from 'fs'; import * as path from 'path'; import { Builder } from '../../Builder'; import upDirs from '../../upDirs'; export default class { private cwd: string; constructor(builder: Builder) { this.cwd = builder.require.cwd; } public find(candidates: string[]): string { let foundPath: string; const paths = upDirs(this.cwd); for (const dir of paths) { for (const candidate of candidates) { const candidatePath = path.join(dir, candidate); if (fs.existsSync(candidatePath)) { foundPath = candidatePath; break; } } if (foundPath) { break; } } return foundPath; } }