GithubHelp home page GithubHelp logo

isabella232 / ls Goto Github PK

View Code? Open in Web Editor NEW

This project forked from blocknative/ls

0.0 0.0 0.0 8 KB

node module for cleanly traversing directories and listing files

License: The Unlicense

CoffeeScript 100.00%

ls's Introduction

What is "ls"?

ls is a node module for cleanly traversing directories and listing files.

The primary goal is a flexible, expressive syntax.

Installation

$ npm i ls

Overview

First require:

var ls = require('ls');

Then we can be as sparse as

for (var file of ls('/path/*')) {
  console.log(file.name)
}

Or as elaborate as

ls(
  '/path/*',
  { recurse: true },
  /jpg/,
  file => console.log `${file.name} is in ${$file.path} and is ${file.stat.size}`
)

Usage

The only required argument is the initial path, the rest can be omitted.

ls([path/s], {config}, /file regex/, iteratorFunction)

Each file produces an object with the following parameters:

  • full: The path and file (/foo/bar/baz.jpg)
  • path: The path to the file (/foo/bar/)
  • file: The file (baz.jpg)
  • name: The file without an extension (baz)
  • stat: A lazy loaded stat object from fs.Stats

You can either grab the whole list

all_files = ls('/path/*')
for (var file of all_files) {
  console.log(file.name, 'is', file.stat.size);
}

Or use an iterator function, with the context being the file's object

var prettysize = require('prettysize');
ls('/tmp/*', file => console.log(`${file.name} is ${prettysize(file.stat.size)}`));

The {config} object accepts the following parameters:

  • recurse: Should we recurse into directories? (Boolean, default is false)
  • type: What kind of files should we return? ('all', 'dir', 'file', default is 'all')

The /regex/ will only return matching files. All directories will still be recursed.

The iterator function is mostly a style preference, but can be handy if you need to throw an error and stop traversal.

License

ls is UNLICENSED. Do whatever you want with it.

ls's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.