Package Exports
- ls
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ls) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
What's "ls"?
ls is a Coffeescript and Javascript module for cleanly traversing directories and listing files.
It has flexible and variable length arguments.
Overview
First require:
ls = require "ls"Then we can be as sparse as
for file in ls "/path"
console.log file.nameOr as elaborate as
ls ["/path", "/another/path/"], { recurse: true }, /jpg/, ->
console.log @name, "is in", @path, "and is", @stat.sizeUsage
The only required argument is the initial path, the rest can be omitted.
ls [path/s], {config}, /file regex/, -> iterator functionEach 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.sizeOr use an iterator function, with the context being the file's object
ls "/path", ->
console.log @name, "is", @stat.sizeThe {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 lsOtherwise, 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.