What do double dashes mean in bash

-- refers to end of options

Examples:

npm test -- --silent # Pass --silent to the actual test command, could be `jest` etc..
                     # Rather than to `npm` command

grep -- -v file # Search for the string `-v` rather than use it as an option