In linux, new_dir and existing_dir are now copies (new_dir didn't exist before):
$ mkdir existing_dir
$ touch existing_dir/foo
$ cp -rf existing_dir new_dir
With shelljs, new_dir/existing_dir and existing_dir are copies. I would expect the linux behavior.
cp('-rf', 'existing_dir', 'new_dir')