1.0.1 • Published 6 months ago
@mnrendra/find-up v1.0.1
@mnrendra/find-up
A lightweight utility to find a file or directory by searching upward from a specific directory.
Install
npm i @mnrendra/find-upAPI Reference
findUp
Finds a file or directory by searching upward from a specific directory.
If no initial directory is provided, it will start from the current working directory (process.cwd()).
Type
(target: string, initDir?: string) => string | nullParameters
| Name | Type | Description |
|---|---|---|
target | string | The name of the file or directory to find. |
initDir | string | Optional directory to start searching from. Defaults to process.cwd(). |
Return
string | nullThe absolute path of the file or directory if found, or null if not found.
Usage
CommonJS
Let's say your package directory is /foo/package-directory, where the package.json file is located.
Then, you want to find the package.json from /foo/package-directory/src/index.cjs:
const { findUp } = require('@mnrendra/find-up')
const pkgPath1 = findUp('package.json') // Searches from `process.cwd()`: '/foo/package-directory'.
const pkgPath2 = findUp('package.json', __dirname) // Searches from `__dirname`: '/foo/package-directory/src'.
console.log(pkgPath1 === pkgPath2) // Output: true
console.log(pkgPath1) // Output: /foo/package-directory/package.json
console.log(pkgPath2) // Output: /foo/package-directory/package.jsonES Modules
Let's say your package directory is /foo/package-directory, where the package.json file is located.
Then, you want to find the package.json from /foo/package-directory/src/index.mjs:
import { dirname } from 'node:path'
import { fileURLToPath } from 'node:url'
import { findUp } from '@mnrendra/find-up'
const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)
const pkgPath1 = findUp('package.json') // Searches from `process.cwd()`: '/foo/package-directory'.
const pkgPath2 = findUp('package.json', __dirname) // Searches from `__dirname`: '/foo/package-directory/src'.
console.log(pkgPath1 === pkgPath2) // Output: true
console.log(pkgPath1) // Output: /foo/package-directory/package.json
console.log(pkgPath2) // Output: /foo/package-directory/package.json