Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 2x 1x 1x 1x 2x 2x 2x 1x | import path from "path" import fs from "fs" /** * With our code residing either in some src folder or in the `itsJustJavascript` folder, it's not * always straightforward to know where to find a config file like `.env`. * Here, we just traverse the directory tree upwards until we find a `package.json` file, which * should indicate that we have found the root directory of the `owid-grapher` repo. */ export default function findProjectBaseDir(from: string): string | undefined { if (!fs.existsSync) return undefined // if fs.existsSync doesn't exist, we're probably running in the browser let dir = path.dirname(from) while (dir.length) { if (fs.existsSync(path.resolve(dir, "package.json"))) return dir const parentDir = path.resolve(dir, "..") // break if we have reached the file system root if (parentDir === dir) break else dir = parentDir } return undefined } |