Команда "del" не удаляет архив, потому что функция `deleteAsync` является асинхронной и не возвращает Promise, который можно использовать для ожидания выполнения операции удаления.
Для исправления этой проблемы, вы можете использовать промисифицированную версию функции `deleteAsync`, которая вернет Promise. Затем вы можете использовать `await` или методы `then()` и `catch()` для ожидания выполнения удаления перед созданием нового архива.
Вот исправленный код:
```javascript
import { delete as deleteSync } from 'del';
import zipListener from 'gulp-zip';
const zipFiles = async (done) => {
await deleteSync([`${buildFolder}/*.zip`]);
return src(`${buildFolder}/**/*.*`, {})
.pipe(zipListener(`${rootFolder}.zip`))
.pipe(dest(buildFolder));
};
```
Обратите внимание, что функция `deleteAsync` была заменена на `deleteSync`, чтобы использовать синхронную версию функции удаления. Ключевое слово `async` было добавлено перед объявлением функции `zipFiles`, чтобы можно было использовать `await` внутри функции.