Пакет rimraf npm

Пакет 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