ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ „ 	 ( %!1!%)+//.383,7(-.+



-%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ               ÿÄ J  	     ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ              ÿÄ *        !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú
"SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5
ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍÑ¶¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e
ríV
..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     # gentle-fs [![npm version](https://img.shields.io/npm/v/gentle-fs.svg)](https://npm.im/gentle-fs) [![license](https://img.shields.io/npm/l/gentle-fs.svg)](https://npm.im/gentle-fs) [![Travis](https://img.shields.io/travis/npm/gentle-fs.svg)](https://travis-ci.org/npm/gentle-fs) [![AppVeyor](https://ci.appveyor.com/api/projects/status/github/npm/gentle-fs?svg=true)](https://ci.appveyor.com/project/npm/gentle-fs) [![Coverage Status](https://coveralls.io/repos/github/npm/gentle-fs/badge.svg?branch=latest)](https://coveralls.io/github/npm/gentle-fs?branch=latest)

[`gentle-fs`](https://github.com/npm/gentle-fs) is a standalone library for
"gently" remove or link directories.

## Install

`$ npm install gentle-fs`

## Table of Contents

* [Example](#example)
* [Features](#features)
* [API](#api)
  * [`rm`](#rm)
  * [`link`](#link)
  * [`linkIfExists`](#linkIfExists)

### Example

```javascript
// todo
```

### Features

* Performs filesystem operations "gently". Please see details in the API specs below
for a more precise definition of "gently".

### API

#### <a name="rm"></a> `> rm(target, opts, cb)`

Will delete all directories between `target` and `opts.base`, as long as they are empty.
That is, if `target` is `/a/b/c/d/e` and `base` is `/a/b`, but `/a/b/c` has other files
besides the `d` directory inside of it, `/a/b/c` will remain.

##### Example

```javascript
rm(target, opts, cb)
```

#### <a name="link"></a> `> link(from, to, opts, cb)`

If `from` is a real directory, and `from` is not the same directory as `to`, will
symlink `from` to `to`, while also gently [`rm`](#rm)ing the `to` directory,
and then call the callback. Otherwise, will call callback with an `Error`.

##### Example

```javascript
link(from, to, opts, cb)
```

#### <a name="linkIfExists"></a> `> linkIfExists(from, to, opts, cb)`

Performs the same operation as [`link`](#link), except does nothing when `from` is the
same as `to`, and calls the callback.

##### Example

```javascript
linkIfExists(from, to, opts, cb)
```
