💾 Archived View for gmi.noulin.net › gitRepositories › git-off › file › src › node_modules › rimraf … captured on 2024-09-29 at 01:12:42. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-

git-off

Log

Files

Refs

README

README.md (3600B)

     1 [![Build Status](https://travis-ci.org/isaacs/rimraf.svg?branch=master)](https://travis-ci.org/isaacs/rimraf) [![Dependency Status](https://david-dm.org/isaacs/rimraf.svg)](https://david-dm.org/isaacs/rimraf) [![devDependency Status](https://david-dm.org/isaacs/rimraf/dev-status.svg)](https://david-dm.org/isaacs/rimraf#info=devDependencies)
     2 
     3 The [UNIX command](http://en.wikipedia.org/wiki/Rm_(Unix)) `rm -rf` for node.
     4 
     5 Install with `npm install rimraf`, or just drop rimraf.js somewhere.
     6 
     7 ## API
     8 
     9 `rimraf(f, [opts], callback)`
    10 
    11 The first parameter will be interpreted as a globbing pattern for files. If you
    12 want to disable globbing you can do so with `opts.disableGlob` (defaults to
    13 `false`). This might be handy, for instance, if you have filenames that contain
    14 globbing wildcard characters.
    15 
    16 The callback will be called with an error if there is one.  Certain
    17 errors are handled for you:
    18 
    19 * Windows: `EBUSY` and `ENOTEMPTY` - rimraf will back off a maximum of
    20   `opts.maxBusyTries` times before giving up, adding 100ms of wait
    21   between each attempt.  The default `maxBusyTries` is 3.
    22 * `ENOENT` - If the file doesn't exist, rimraf will return
    23   successfully, since your desired outcome is already the case.
    24 * `EMFILE` - Since `readdir` requires opening a file descriptor, it's
    25   possible to hit `EMFILE` if too many file descriptors are in use.
    26   In the sync case, there's nothing to be done for this.  But in the
    27   async case, rimraf will gradually back off with timeouts up to
    28   `opts.emfileWait` ms, which defaults to 1000.
    29 
    30 ## options
    31 
    32 * unlink, chmod, stat, lstat, rmdir, readdir,
    33   unlinkSync, chmodSync, statSync, lstatSync, rmdirSync, readdirSync
    34 
    35     In order to use a custom file system library, you can override
    36     specific fs functions on the options object.
    37 
    38     If any of these functions are present on the options object, then
    39     the supplied function will be used instead of the default fs
    40     method.
    41 
    42     Sync methods are only relevant for `rimraf.sync()`, of course.
    43 
    44     For example:
    45 
    46     ```javascript
    47     var myCustomFS = require('some-custom-fs')
    48 
    49     rimraf('some-thing', myCustomFS, callback)
    50     ```
    51 
    52 * maxBusyTries
    53 
    54     If an `EBUSY`, `ENOTEMPTY`, or `EPERM` error code is encountered
    55     on Windows systems, then rimraf will retry with a linear backoff
    56     wait of 100ms longer on each try.  The default maxBusyTries is 3.
    57 
    58     Only relevant for async usage.
    59 
    60 * emfileWait
    61 
    62     If an `EMFILE` error is encountered, then rimraf will retry
    63     repeatedly with a linear backoff of 1ms longer on each try, until
    64     the timeout counter hits this max.  The default limit is 1000.
    65 
    66     If you repeatedly encounter `EMFILE` errors, then consider using
    67     [graceful-fs](http://npm.im/graceful-fs) in your program.
    68 
    69     Only relevant for async usage.
    70 
    71 * glob
    72 
    73     Set to `false` to disable [glob](http://npm.im/glob) pattern
    74     matching.
    75 
    76     Set to an object to pass options to the glob module.  The default
    77     glob options are `{ nosort: true, silent: true }`.
    78 
    79     Glob version 6 is used in this module.
    80 
    81     Relevant for both sync and async usage.
    82 
    83 * disableGlob
    84 
    85     Set to any non-falsey value to disable globbing entirely.
    86     (Equivalent to setting `glob: false`.)
    87 
    88 ## rimraf.sync
    89 
    90 It can remove stuff synchronously, too.  But that's not so good.  Use
    91 the async API.  It's better.
    92 
    93 ## CLI
    94 
    95 If installed with `npm install rimraf -g` it can be used as a global
    96 command `rimraf <path> [<path> ...]` which is useful for cross platform support.
    97 
    98 ## mkdirp
    99 
   100 If you need to create a directory recursively, check out
   101 [mkdirp](https://github.com/substack/node-mkdirp).