React-Explorer is a plugin-based file explorer developed using React and TypeScript, designed to provide a flexible and extensible solution for file management tasks. Built with Electron, it offers cross-platform compatibility across Windows, macOS, and Linux.
Key Features:
Cross-platform functionality for seamless use on multiple operating systems.
Customizable interface through plugins, allowing users to extend its capabilities.
Support for multiple file operations, including copy, move, rename, and delete.
Integration with Git for version control management directly within the application.
Advanced search functionality to quickly locate files and folders.
Audience & Benefit:
Ideal for developers, web designers, and power users who need a reliable and customizable file explorer. React-Explorer streamlines workflow by combining file management with development tools, enhancing productivity and efficiency. It can be installed via winget for easy setup on supported platforms.
README
Cross-platform File manager for Windows, Mac, Linux
Features
Split-view window
Tabs support
Media File Preview
Fully keyboard controlled
Fully localized
Dark Mode with automatic detection
Open a terminal from any folder
Plugin-based filesystem support
WSL integration (Windows)
Feature tour
Trully Cross-platform
React-Explorer is available on every major operating systems & architectures:
Windows x64, AARCH64
Linux x64, AARCH64
macOS x64, AARCH64
Builtin media file preview
Pressing the space bar when a file is selected will open the media preview.
If the file format is supported, it will be displayed without needing any additional
library:
Dark theme automatic detection (macOS Mojave)
React-Explorer will automatically switch to dark-theme when it's detected:
Create and read folder
By pressing ctrl (Linux/Win) or cmd the folder you create will be automatically read:
Create nested folders
You can create several folders at once by separating them with a forward-slash:
Quick access to parent folders
By right-clicking on a tab's icon you can quickly get access to the parents of the currend folder:
WSL support
React-Explorer will automatically detect and show the list of Linux distributions installed using WSL on Windows:
FreeCommander is an easy-to-use alternative to the standard windows file manager. The program helps you with daily work in Windows. Here you can find all the necessary functions to manage your data stock. You can take FreeCommander anywhere – just copy the installation directory on a CD or USB-Stick – and you can even work with this program on a foreign computer.
This webapp is a browser and desktop password manager compatible with KeePass databases.
It doesnt require any server or additional resources.
The app can run either in browser, or as a desktop app.
Tabby (formerly Terminus) is a highly configurable terminal emulator, SSH and serial client for Windows 10, macOS and Linux
- Integrated SSH and Telnet client and connection manager
- Integrated serial terminal
- Theming and color schemes
- Fully configurable shortcuts and multi-chord shortcuts
- Split panes
- Remembers your tabs
- PowerShell (and PS Core), WSL, Git-Bash, Cygwin, MSYS2, Cmder and CMD support
- Direct file transfer from/to SSH sessions via Zmodem
- Full Unicode support including double-width characters
- Doesn't choke on fast-flowing outputs
- Proper shell experience on Windows including tab completion (via Clink)
- Integrated encrypted container for SSH secrets and configuration
- SSH, SFTP and Telnet client available as a web app (also self-hosted)
FreeCommander is an easy-to-use alternative to the standard windows file manager. The program helps you with daily work in Windows. Here you can find all the necessary functions to manage your data stock. You can take FreeCommander anywhere – just copy the installation directory on a CD or USB-Stick – and you can even work with this program on a foreign computer.
This webapp is a browser and desktop password manager compatible with KeePass databases.
It doesnt require any server or additional resources.
The app can run either in browser, or as a desktop app.
Tabby (formerly Terminus) is a highly configurable terminal emulator, SSH and serial client for Windows 10, macOS and Linux
- Integrated SSH and Telnet client and connection manager
- Integrated serial terminal
- Theming and color schemes
- Fully configurable shortcuts and multi-chord shortcuts
- Split panes
- Remembers your tabs
- PowerShell (and PS Core), WSL, Git-Bash, Cygwin, MSYS2, Cmder and CMD support
- Direct file transfer from/to SSH sessions via Zmodem
- Full Unicode support including double-width characters
- Doesn't choke on fast-flowing outputs
- Proper shell experience on Windows including tab completion (via Clink)
- Integrated encrypted container for SSH secrets and configuration
- SSH, SFTP and Telnet client available as a web app (also self-hosted)
React-Explorer works on any modern Windows, Mac or Linux64bit computer.
Building for local development
In order to build React-Explorer you need to have installed nodejs.
Once installed, building React-Explorer is as easy as typing:
npm install && npm run build
This will build a development package.
In order to run in locally without having to create a native executable, you can then type:
npx electron ./build/main.js
Building binary packages
In order to build binary packages, simply type the following:
npm run dist
This will build packaged binaries of React Explorer into the dist folder for every supported platform.
React-Explorer can also be built for a single patform. For example, to build only the Windows binaries, type:
npm run dist-win
Localization
React-Explorer is fully localized using .json files. Right now, English and French are available.
Adding a new language to React-Explorer is easy: simply duplicate one of the file found in src/locale/lang directory.
The new file should have the name code.json where code is a valid language code, for example: ja.json to add support for Japanese.
Tests
Unit testing
React-Explorer has both unit tests (using Jest) and end to end tests (using Cypress).
To run unit tests simply type:
npm test
This will start Jest and run every spec files found in src. Every test file can be found next to the component it is testing.
End to End testing
End to end tests are using Cypress and are in the separate e2e directory. You must install & configure Cypress before running E2E tests. This needs to be done one once using the following commands:
cd e2e && npm install && cd ..
The first time you run the tests, you also need to install cypress dependencies:
npm install
Since end to end tests need to run Electron-Explorer outside of Electron, a special build needs to be created that stubs some Electron APIs. To create this build, simply type:
npm run build
This will create a new Electron-Explorer in the build-e2e directory.
You may also type npm run watch if you want to rebuild automatically the e2e build after a change has been detected inside the sources.
For React-Explorer to run without Electron, a local webserver needs to be started before running the tests:
npm run server
Now, simply type: npm run cypress:run or npm run cypress:open.
How to develop a new Plugin
React-Explorer has been written so that it can easily be extended using plugins.
As a starting point you may use the FsGeneric skeleton.
Acknowledgments
React-Explorer makes use of the following libraries/components: