Skip to main content
Home

Built and signed on GitHub Actions

Find files and directories by traversing

This package works with Cloudflare Workers, Node.js, Deno, Bun
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
JSR Score
88%
Published
6 months ago (1.4.0)

elysius

npm version npm downloads jsr version

📦 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

for await (const entry of walk("src")) {
  console.log(entry); // prints one file at a time
}

const paths = Array.fromAsync(walk("src")); // returns an array of all files in `src`

for (const entry of walkSync("src")) {
  console.log(entry); // prints one file at a time
}

const paths = Array.from(walkSync("src")); // returns an array of all files in `src`

📄 License

Published under MIT License.

Built and signed on
GitHub Actions

New Ticket: Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@luxass/elysius

Import symbol

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

Import directly with a jsr specifier

import * as elysius from "jsr:@luxass/elysius";

Add Package

pnpm i jsr:@luxass/elysius
or (using pnpm 10.8 or older)
pnpm dlx jsr add @luxass/elysius

Import symbol

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

Add Package

yarn add jsr:@luxass/elysius
or (using Yarn 4.8 or older)
yarn dlx jsr add @luxass/elysius

Import symbol

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

Add Package

vlt install jsr:@luxass/elysius

Import symbol

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

Add Package

npx jsr add @luxass/elysius

Import symbol

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

Add Package

bunx jsr add @luxass/elysius

Import symbol

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