JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 16581
  • Score
    100M100P100Q132061F
  • License Apache-2.0 OR MIT

Expand paths to file-like objects with name, readable stream and size.

Package Exports

  • files-from-path

Readme

files-from-path

Expand paths to file-like objects with name, readable stream and size.

Build JavaScript Style Guide Downloads

Install

npm install files-from-path

Usage

import { filesFromPaths } from 'files-from-path'

// Given a file system like:
// path/to/file.txt
// path/to/dir/a.pdf
// path/to/dir/images/cat.gif

const files = await filesFromPaths(['path/to/file.txt', 'path/to/dir'])
console.log(files)

// Output:
// [
//   { name: 'file.txt', stream: [Function: stream] },
//   { name: 'dir/b.pdf', stream: [Function: stream] },
//   { name: 'dir/images/cat.gif', stream: [Function: stream] },
// ]
// Note: common sub-path ("path/to/") is removed.

API

filesFromPaths

The following parameters can be provided to filesFromPaths:

Name Type Description
paths Iterable<string> File system path(s) to read from
[options] object options
[options.hidden] boolean Include .dot files in matched paths (default: false)
[options.sort] boolean Sort files by path (default: true)

It returns an array of file-like objects in the form:

{
  name: string
  stream: () => ReadableStream<Uint8Array>
  size: number
}

Releasing

Releasing to npm is done via release-please. A Release PR will be opened with a CHANGELOG update in after a PR is merged to main. Merging the release PR will publish the new version to npm.

Contributing

Feel free to join in. All welcome. Please open an issue!

License

Dual-licensed under Apache 2.0 OR MIT