async rmdir(filepath, opts) {
    try {
      if (opts && opts.recursive) {
        await this._rm(filepath, opts)
      } else {
        await this._rmdir(filepath)
      }
    } catch (err) {
      if (err.code !== 'ENOENT') throw err
    }
  }
Delete a directory without throwing an error if it is already deleted.