Skip to content

Lightweight library to grab all files and folders in a directory.

License

Notifications You must be signed in to change notification settings

Maarcosv99/files-folder

Repository files navigation

files-folder

Lightweight library to get all files or folders from any directory.

MIT License

Installation

Use the package manager npm to install files-folder.

npm i files-folder

Usage

Synchronous methods

import { getFilesSync, getFoldersSync } from "files-folder";

const folders = getFoldersSync("src");
console.log(folders); // string[]

const files = getFilesSync("src");
console.log(files); // string[]

Asynchronous methods

import { getFilesAsync, getFoldersAsync } from "files-folder";

const folders = await getFoldersAsync("src");
console.log(folders); // string[]

const files = await getFilesAsync("src");
console.log(files); // string[]

Get the relative or full path

This parameter works for all functions.

import { getFilesAsync, getFoldersSync } from "files-folder";

getFoldersSync("src", { full_path: false }); // src/**
await getFilesAsync("src", { full_path: true }); // home/**

Filter files using regex or function

import { getFilesSync, getFilesAsync } from "files-folder";

getFilesSync("src", { filter: /\.ts$/ }); // src/**/*.ts
await getFilesAsync("src", {
	filter: (filename) => filename.endsWith(".ts"),
}); // src/**/*.ts

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT