O fragmento cmdA || cmdB significa "Executar cmdA e, se falhar (sai com um código de saída diferente de 0), execute cmdB ".
De link : o cólon : no bash é um comando que não faz nada.
Assim, o fragmento rm -r node_modules || :; ... pode ser interpretado como:
- Executar
rm -r node_modules. - Se falhar (porque o diretório
node_modulesfile não existe ou não temos permissões), não faça nada (ignore o erro) - Execute o restante da linha.
Esta é uma forma de ignorar erros, porque neste caso são esperados erros. Especificamente para rm , dessa forma é mais seguro que o -f sinalizador porque não força a remoção de arquivos rm normalmente se recusaria a excluir.