Пакет rimraf предоставляет функциональность UNIX команды rm -rf в среде Node.js.
Для установки используйте следующую команду:
npm install rimraf #если вы используете yarn npm add rimraf
Описания API
rimraf(f, [opts], callback)
Функция callback будет вызвана если возникнет ошибка. Некоторые ошибки обрабатываются автоматически:
- Windows: EBUSY и ENOTEMPTY, rimraf делает несколько попыток если возникает эта ошибка, количество попыток можно передать через параметр opts.maxBusyTries (значение по умолчанию 3)
- ENOENT — возникает если файл не существует.
- EMFILE — так как readdir требует открытия дескриптора файла, существует возможность получить EMFILE если используется слишком много дескрипторов. Если использовать синхронную версию то с этим ничего не сделаешь, но в асинхронной функции rimraf постепенно прекращает делать попытки с таймаутами заданными параметром opts.emfileWait(1000ms по умолчанию)
Описания параметров
Кастомны функции файловой системы
Для того что бы использовать кастомную файловою библиотеку, вы можете переопреелить некоторые функции из модуля fs, передав их в объекте options. Если какая нибудь функция передана в объект options, она будет использована вместо дефолтного метода fs.
Синхронные методы актуальны только для rimraf.sync()
Например:
var myCustomFS = require('some-custom-fs') rimraf('some-thing', myCustomFS, callback)
maxBusyTries
Если в ОС Windows возникла одна из таких ошибок как EBUSY, ENOTEMPTY, или EPERM, тогда rimraf будет делать попытки с перерывами в 100ms. Значение по умолчанию для maxBusyTries 3. Параметр актулен только для асинхронного использования.
emfileWait
Если возникнет ошибка EMFILE, rimraf будет повторять попытку з перерывами в 1ms, пока не будет достигнут лимит времен заданый параметром emfileWait(значение по умолчанию 1000ms).
glob
Установить в false чтобы отключить поиск по шаблону.
rimraf.sync
Удаляет файли синхронно использую синхронный методы «fs», такие как fs.unlinkSync.
Использование rimraf в CLI
Чтобы использавть rimraf как глобальную команду утсановите ее с параметром -g
npm install rimraf -g