file-set

v5.2.2
Cross-platform glob expansions simplified. Input: file paths and glob expressions. Output: resolved file paths organised by type (file, directory and not-found).
glob files node-glob fast-glob globstar

view on npm npm module downloads Gihub repo dependents Gihub package dependents Node.js CI js-standard-style

file-set

Cross-platform glob expansions simplified. Input: file paths and glob expressions. Output: resolved file paths organised by type (file, directory and not-found). It handles all the cross-platform issues associated with file paths.

Particularly useful for handling user input, for example a CLI utility which accepts a list of file paths and globs.

$ example-utility index.js * not/existing/*

The example-utility above could pass its user input into FileSet. Call await .add(<string[]>) as many times as necessary, adding more path/glob expressions each time.

import FileSet from 'file-set'
const fileSet = new FileSet()
await fileSet.add([ 'index.js', '*', 'not/existing/*' ])
console.log(fileSet)

The output has been organised into sets. Any duplicates caused by overlapping glob expressions are removed.

FileSet {
  files: [ 'index.js', 'LICENSE', 'package.json', 'README.md' ],
  dirs: [ 'jsdoc2md/', 'lib/', 'node_modules/', 'test/' ],
  notExisting: [ 'not/existing/*' ]
}

© 2014-24 Lloyd Brookes <[email protected]>.

Tested by test-runner.

npm i file-set

Metadata

  • MIT
  • >=12.17
  • Lloyd Brookes
  • released 8/31/2024

Downloads

Maintainers