‚̧Noticeably Playful Monkeys
Miss any of our Open RFC calls?Watch the recordings here! ¬Ľ

split-cmd

1.0.1¬†‚Äʬ†Public¬†‚Äʬ†Published

split-cmd

ūüí¶ Split a command into an array or an object

Useful for splitting a command to use with NodeJS' child process methods, like spawn, exec, and execFile, as well with libs like execa. No external dependencies.

Install

npm install --save split-cmd

Examples

Splitting into an array

var split = require( 'split-cmd' ).split;
var arr = split( 'git commit -m "some message with spaces"' );
console.log( arr ); // [ "git", "commit", "-m", "some message with spaces" ]

Splitting into an object

var splitToObject = require( 'split-cmd' ).splitToObject;
var obj = splitToObject( 'git commit -m "some message with spaces"' );
console.log( obj.command ); // git
console.log( obj.args ); // [ "commit", "-m", "some message with spaces" ]

Using it with execa

const { splitToObject } = require( 'split-cmd' );
const execa = require( 'execa' );
 
// Executing a single command
const obj = splitToObject( 'echo "I see unicorns"' );
execa( obj.command, obj.args )
    .then( result => console.log( result.stdout ) ) // I see unicorns
    .catch( error => console.log( error ) );
 
// Executing multiple commands in batch
[
    'echo "I see unicorns"',
    'mkdir foo',
    'touch foo/bar.txt'
]
.map( s => splitToObject( s ) )
.forEach( obj => {
    execa( obj.command, obj.args )
        .then( result => console.log( result.stdout ) )
        .catch( error => console.log( error ) );
} );

API

/**
 * Split a command into an array.
 *
 * @param {string} command Command to split.
 * @returns {Array} 
 */
split( command: string ): string[]
 
/**
 * Split a command into an object with the attributes `command` and `args`.
 *
 *
 * @param {string} command Command to split.
 * @returns {object} 
 */
splitToObject( command: string ): object

License

MIT © Thiago Delgado Pinto

Install

npm i split-cmd

DownloadsWeekly Downloads

688

Version

1.0.1

License

MIT

Unpacked Size

10.1 kB

Total Files

6

Last publish

Collaborators

  • avatar