automatically expand globs (cross-platform) for the process.argv
array (or similar)
Popular shells on macOS and Linux automatically expand globs prior to executing commands. However, the default shells on Windows do not.
This library checks a process.argv
-like array of strings,
detects any globs,
and expands the globs.
This is very convenient for developing consistent cross-platform CLI tools.
-
argv: Array
-
globOptions: see https://www.npmjs.com/package/glob#options
-
returns Array
We execute a Node.js script like so:
node path/to/index.js **/*.txt
where our index.js file contains:
#! /usr/bin/env node
const argvAutoGlob = require('argv-auto-glob')
process.argv
// => (Windows) ['.../node', '.../index.js', '**/*.txt']
// => (bash/zsh) ['.../node', '.../index.js', 'example.txt', 'dir/more.txt', ... ]
process.argv = argvAutoGlob(process.argv)
process.argv
// => (all) ['.../node', '.../index.js', 'example.txt', 'dir/more.txt', ... ]