Depois de pesquisar e implementar, dou a resposta aqui por meio de um arquivo bash.
Eu uso os pacotes npm uglifyjs
e uglifycss
para compactar arquivos JS e CSS, respectivamente. Eu uso o comando find
para percorrer esses arquivos. Suponho que os arquivos js e css estejam em uma pasta js/
e css/
, respectivamente.
#minification of JS files
find js/ -type f \
-name "*.js" ! -name "*.min.*" ! -name "vfs_fonts*" \
-exec echo {} \; \
-exec uglifyjs -o {}.min {} \; \
-exec rm {} \; \
-exec mv {}.min {} \;
#minification of CSS files
find css/ -type f \
-name "*.css" ! -name "*.min.*" \
-exec echo {} \; \
-exec uglifycss --output {}.min {} \; \
-exec rm {} \; \
-exec mv {}.min {} \;
Isso irá minimizar todos os arquivos js e css nos respectivos diretórios js/
e css/
. Se você quiser excluir algumas pastas ou padrões específicos, use a opção ! -name