Skip to content
/ ls Public
forked from awnist/ls

node module for cleanly traversing directories and listing files

License

Notifications You must be signed in to change notification settings

111StudioKK/ls

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

What's "ls"?

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

The primary goal is a flexible, expressive syntax.

Overview

First require:

ls = require "ls"

Then we can be as sparse as

for file in ls "/path"
    console.log file.name

Or as elaborate as

ls ["/path/foo*", "/another/path/"], { recurse: true }, /jpg/, ->
    console.log @name, "is in", @path, "and is", @stat.size

Usage

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

ls [path/s], {config}, /file regex/, -> iterator function

Each file produces an object with the following parameters:

  • path: The path to the file (/foo/bar/)
  • full: The path and file (/foo/bar/baz.jpg)
  • 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 file in all_files
    console.log file.name, "is", file.stat.size

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

ls "/path", ->
    console.log @name, "is", @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.

Installation

The recommended way is through the excellent npm:

$ npm install ls

Otherwise, you can check it in your repository and then expose it:

$ git clone git://github.com/awnist/ls.git node_modules/ls/

ls is UNLICENSED.

About

node module for cleanly traversing directories and listing files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CoffeeScript 100.0%