puppeteer/src/util/getPackageDirectory.ts

19 lines
452 B
TypeScript

import {existsSync} from 'fs';
import {dirname, join, parse} from 'path';
/**
* @internal
*/
export const getPackageDirectory = (from: string): string => {
let found = existsSync(join(from, 'package.json'));
const root = parse(from).root;
while (!found) {
if (from === root) {
throw new Error('Cannot find package directory');
}
from = dirname(from);
found = existsSync(join(from, 'package.json'));
}
return from;
};