If an optional argument is defined sade will parse after --
import sade from 'sade'
sade('prog')
.command('build [config]').action(console.log)
.parse(['node', 'cli.js', 'build', '--', 'abc', 'xyz'])
Results in "abc", {_: ["xyz"]}
But I'd expect it to parse undefined, {_: ["abc', "xyz"]}