find-in-directory
v5.0.1
Published
Find file or directory by names in a directory.
Readme
find-in-directory
Find file or directory by names in a directory.
Install
yarn add find-in-directoryUsage
import {
findFileInDirectory,
findDirectoryInDirectory,
findInDirectory,
} from 'find-in-directory'
console.log(await findFileInDirectory(['foo.config.js', 'foo.config.json']))
// "/path/to/foo.config.json"
console.log(await findDirectoryInDirectory(['node_modules', '.yarn']))
// "/path/to/node_modules"
console.log(
await findInDirectory([
{name: 'yarn.lock', type: 'file'},
{name: '.yarn', type: 'directory'},
]),
)
// "/path/to/yarn.lock"API
Call signatures
find{File,Directory,}InDirectory(targetOrTargets: TargetOrTargets)find{File,Directory,}InDirectory(targetOrTargets: TargetOrTargets, options: Options)find{File,Directory,}InDirectory(targetOrTargets: TargetOrTargets, filter: Options["filter"])find{File,Directory,}InDirectory(targetOrTargets: TargetOrTargets, filter: Options["filter"], options: Omit<Options, "filter">)
types
TargetOrTargets
The files or directories to find.
Type: Target | Target[]
Target
The files or directories to find.
Type: string | {name: string, type?: 'file' | 'directory', filter?: Options["filter"]}
Target["type"]
The file or directory type looking for.
import fs from 'node:fs/promises'
import {findInDirectory} from 'find-in-directory'
const result = await findInDirectory([
{name: 'yarn.lock', type: 'file'},
{name: '.yarn', type: 'directory'},
])
// "/path/to/bar.js"Target.type is ignored in findFileInDirectory() and fileDirectoryInDirectory(), only works in findInDirectory()
Target["name"]
Options["cwd"]
The directory to find.
Type: URL | string
Default: process.cwd()
options["filter"]
Type: (fileOrDirectory: {name: string, path: string, stats: fs.Stats}) => Promise<boolean>
import fs from 'node:fs/promises'
import {findFile} from 'find-in-directory'
const file = await findFile(['foo.js', 'bar.js'], {
async filter({path: file}) {
const content = await fs.readFile(file, 'utf8')
return content.startsWith('#!/usr/bin/env node')
},
})
// "/path/to/bar.js"options["allowSymlinks"]
Should allow symlinks or not.
Type: boolean
options["type"]
The file or directory type looking for.
Type: 'file' | 'directory'
options.type is ignored in findFileInDirectory() and fileDirectoryInDirectory(), only works in findInDirectory()
Related
search-closest- Find closest file or directory.
