Skip to main content

Built and signed on GitHub Actions

Find files and directories by traversing

This package works with Bun, Cloudflare Workers, Node.js, Deno
JSR Score
94%
Published
4 weeks ago (1.1.2)

elysius

npm version npm downloads

📦 Installation

npm install elysius

📚 Usage

import { find, findSync, walk, walkSync } from 'elysius'

const path = await find('package.json') // returns `null` if not found
const path = findSync('package.json') // returns `null` if not found

const path = await find(['package.json', 'tsconfig.json']) // returns the first found file
const path = findSync(['package.json', 'tsconfig.json']) // returns the first found file

const path = await find(['package.json', 'tsconfig.json'], {
  cwd: 'src',
  async test(path) {
    const base = basename(file)
    if (base === 'package.json') {
      const content = JSON.parse(await readFile(file, 'utf-8'))
      return content.version
    }
    return false
  }
}) // returns `package.json` if it has a version field

const path = findSync(['package.json', 'tsconfig.json'], {
  cwd: 'src',
  test(path) {
    const base = basename(file)
    if (base === 'package.json') {
      const content = JSON.parse(readFileSync(file, 'utf-8'))
      return content.version
    }
    return false
  }
}) // returns `package.json` if it has a version field

const paths = await walk('src') // returns an array of all files in `src`

const paths = walkSync('src') // returns an array of all files in `src`

📄 License

Published under MIT License.

Built and signed on
GitHub Actions
View transparency log

Add Package

deno add @luxass/elysius

Import symbol

import * as mod from "@luxass/elysius";

Add Package

npx jsr add @luxass/elysius

Import symbol

import * as mod from "@luxass/elysius";

Add Package

yarn dlx jsr add @luxass/elysius

Import symbol

import * as mod from "@luxass/elysius";

Add Package

pnpm dlx jsr add @luxass/elysius

Import symbol

import * as mod from "@luxass/elysius";

Add Package

bunx jsr add @luxass/elysius

Import symbol

import * as mod from "@luxass/elysius";