# fs-gui

> This package is like a GUI for "fs", it allows you to make a browser for files and more.

Latest version **1.5.0** (published 2021-03-05) · CC-BY-4.0 license · 0 weekly downloads

## Install

```sh
npm install fs-gui
pnpm add fs-gui
yarn add fs-gui
bun add fs-gui
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.5.0 |
| Published | 2021-03-05 |
| First published | 2021-03-02 |
| Weekly downloads | 0 |
| License | CC-BY-4.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 14.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | RedYetiDev |
| Maintainers | redyetidev |
| Keywords | browse, files, fs, gui, fs-gui, path, directory, dir, file |

## Links

- npm: https://www.npmjs.com/package/fs-gui
- Repository: https://github.com/RedYetiDev/fs-gui
- Homepage: https://github.com/RedYetiDev/fs-gui#readme
- Issues: https://github.com/RedYetiDev/fs-gui/issues
- npm.io page: https://npm.io/package/fs-gui

## Dependencies (1)

- [inquirer](https://npm.io/package/inquirer.md) ^8.0.0

## Alternatives

- [unionfs](https://npm.io/package/unionfs.md) — 2.2M weekly downloads
- [path-starts-with](https://npm.io/package/path-starts-with.md) — 35.9K weekly downloads
- [redzip](https://npm.io/package/redzip.md) — 1.2K weekly downloads
- [vscode-anymatch](https://npm.io/package/vscode-anymatch.md) — 848 weekly downloads
- [@ledgerhq/coin-filecoin](https://npm.io/package/@ledgerhq/coin-filecoin.md) — 793 weekly downloads

## Recent versions

- 1.5.0 (latest) — 2021-03-05
- 1.3.1 — 2021-03-03
- 1.3.0 — 2021-03-03
- 1.2.0 — 2021-03-03
- 1.1.0 — 2021-03-02
- 1.0.0 — 2021-03-02

## README

# fs-gui

## Overview

Welcome to the `fs-gui`. This package allows you to add file selection menus to your programs. See below to example usage.

## How to use
1. First you have to install the [package](https://npmjs.com/package/fs-gui) using `npm i fs-gui` or fork the [repo](https://github.com/RedYetiDev/fs-gui)
2. You need to `require` it in your code.

```js
const Explorer = require("fs-gui")
```

3. Use the functions below, you can change `Explorer` for whatever you would like.

---

- #### `Explorer.searchDir(message)`

  The `searchDir` function creates a selection menu for selecting a directory.

  This function returns the path of the directory selected.

  The `message` parameter is the message to show the user, [e.g. `"Select a folder"`]

---

- #### `Explorer.searchAll(message)`

  The `searchAll` function creates a selection menu for selecting all files.

  This function returns the path to file/directory chosen.

  The `message` parameter is the message to show the user, [e.g. `"Select a file or folder"`]

---

- #### `Explorer.searchCustom(message, ext)`

  The `searchCustom` function creates a selection menu for selecting all files. This function returns the path to file/directory chosen

  The `message` parameter is the message to show the user, [e.g. `"Select a file or folder"`].

  The `ext` parameter is an array, containing the file extensions. [e.g. `[".txt",".pdf"]`]

- #### `Explorer.createFile(data)`
  The `createFile` functions creates a menu, showing the normal folders, but adds an extra option `Create File`. Once selected `Create File` asks for the name and extension. The `data` parameter is the contents of the file. It must be string.
  
- #### `Explorer.createCustomFile(data, name)`
  Similar to `createFile`, but the name is already specified.

- #### `Explorer.createFolder()`
    The `createFolder` functions creates a menu, showing the normal folders, but adds an extra option `Create Folder`. Once selected `Create Folder` asks for the folder name.

- #### `Explorer.deleteFile()`
  The delete folder function is like the `searchAll` function, but for deleting files

- #### `Explorer.deletFolder()`
  The delete folder function is like the `searchDir` function, but for deleting folders.

## Examples
The examples below are assuming your code has the following line
```js
const Explorer = require("fs-gui")
```

- If you wanted the user to select a `pdf` file
```js
Explorer.searchCustom("Select a PDF", [".pdf"])
```

- If you wanted the user to select a directory in the `node_modules` folder
```js
process.chdir("node_modules")
Explorer.searchDir("Select a directory")
```

---
_Source: https://npm.io/package/fs-gui · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
