UNPKG

angel-manager

Version:

<p align="center"> <img src="angel-manager.webp" alt="Angel Manager" width="300"> </p>

24 lines (19 loc) 716 B
import fs from "fs"; import path from "path"; /** * Function to find the root directory of the project. * @param {string} startDir - The starting directory from which to begin the search. * @returns {string} - The absolute path to the project root. * @throws {Error} - If the project root is not found. */ const findProjectRoot = (startDir: string): string => { let currentDir = startDir; while (currentDir !== path.parse(currentDir).root) { if (fs.existsSync(path.join(currentDir, "package.json"))) { return currentDir; } currentDir = path.dirname(currentDir); } throw new Error("Angel Manager: package.json not found. Not a Node.js project."); }; export default findProjectRoot;