Differ is an Electron application that uses the dir-compare library to compare two directories and Monaco Editor to view the differences. This application is developed for projects that are not suitable for any version control system (Git, SVN, etc.) or where the use of such systems is considered a security risk.
Differ is specifically designed for institutions operating in telecommunications, banking, defense industries, and air-gapped networks. It provides an advanced code comparison experience similar to VS Code while ensuring that your data never leaves your local machine.
- Deep Directory Comparison: Instantly detects modified, added, or deleted files using the dir-compare engine.
- Advanced Code Comparison: Provides syntax highlighting and side-by-side comparison through Monaco Editor integration.
- Dynamic Filtering System: Offers persistent and customizable filtering to exclude node_modules, .git, or specific file extensions.
- Fully Offline and Secure: Does not include any cloud synchronization or external server connections.
- Modern Interface: Fast and user-friendly file tree structure built with React and Tailwind CSS.
- Framework: Electron
- Frontend: React (TypeScript)
- Editor: Monaco Editor (@monaco-editor/react)
- State Management: Zustand
- Styling: Tailwind CSS
- Comparison Engine: dir-compare
In regulated or high-security industries, transferring code to external repositories or even using local Git instances can be considered a security breach. Developers are often forced to manually compare folders using NPP or use outdated tools. Differ fills this gap by offering a modern developer experience without relying on any version control system.
Node.js must be installed on your system.
-
Clone the repository or download the source code: git clone https://github.com/username/differ.git cd differ
-
Install dependencies: npm install
-
Run the application in development mode: npm run dev
To build the application into an executable file: npm run build
The compiled files will be located in the dist or release folder depending on your bundler configuration.
- Launch the application.
- Select the Baseline Directory path (Original or older version).
- Select the Target Directory path (Modified or newer version).
- Set the file or folder ignore rules from the settings section.
- Click the Run Diff button to start the process.
- Select the changed files from the file tree on the left to examine the line-by-line differences in the editor on the right.
See LICENSE for details.