https://github.com/ashish-simplecoder/react-ts-file-tree
File tree built in React-Typescript and TailwindCSS
https://github.com/ashish-simplecoder/react-ts-file-tree
file-tree react state-management typescript vite
Last synced: 22 days ago
JSON representation
File tree built in React-Typescript and TailwindCSS
- Host: GitHub
- URL: https://github.com/ashish-simplecoder/react-ts-file-tree
- Owner: Ashish-simpleCoder
- Created: 2023-06-23T15:31:11.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-03-14T14:28:24.000Z (about 2 years ago)
- Last Synced: 2025-03-02T03:44:06.428Z (about 1 year ago)
- Topics: file-tree, react, state-management, typescript, vite
- Language: TypeScript
- Homepage: https://ashish-simplecoder.github.io/react-ts-file-tree/
- Size: 733 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# react-ts-file-tree
## Description
- File-Tree Built in React-TypeScript and TailwindCSS.
## Features
- Type safe components.
- Reusable components for ui.
- Reusable custom hooks for event-handling.
- Very optimized rendering for performance of File-Tree's list with `Pub-Sub Modal` based `State-Management` just using the `React-Ref Bases Context`.
- `Event-Delegation` modal of managing the all of click handling of tree-node for less memory usage.
- `CRUD` operations.
- `React-Portal` to render the inputs at particular `focused node` for updating and creating the `node` or `filename`
- Delete focused node with `Delete` key from keyboard.
- Context Menu for managing all of the file operations like rename, delete, new file and new folder etc.
- Validations for empty value or duplicate entry while creating or updating the node name.
- Collapse/Expand feature for folders
## 💻 Tech Stack:





### Demo Video
https://github.com/Ashish-simpleCoder/react-ts-file-tree/assets/62009244/1d588c6f-6033-4559-a8dd-cb6ad1b37044
## Getting Started
Install pnpm
```js
npm i -g pnpm
````
Install All of the dependencies
```js
pnpm install
```
Start Development Server
```bash
pnpm dev
```
That's it, open up the browser and type `http://localhost:5173/react-ts-file-tree/` in the url.