@exiahuang/esf
v0.1.0
Published
EasySFDX TUI - Terminal User Interface for Salesforce Development
Readme
esf - EasySFDX Terminal User Interface (TUI)
esf is a terminal-based development dashboard for Salesforce (SFDX) developers, designed to provide a highly interactive, fast, and feature-rich terminal user interface. It is migrated from the VS Code extension easysfdx .
Features & Tab Layout
[1] Deploy/Retrieve:
- Lists all Git staged, unstaged, and untracked files.
- Highlights file diffs with syntax coloring (green for additions, red for deletions).
- Press
Spaceto toggle selection of files. - Press
dto deploy selected files to your target Salesforce org. - Press
Dto deploy selected files with a Dry Run verification. - Press
rto retrieve selected files from Salesforce. - Press
mto show a list of metadata types and retrieve selected types. - Press
ato retrieve all metadata. - Press
gto refresh Git status.
[2] SOQL Browser:
- Focus the query box, type any SOQL query (e.g.,
SELECT Id, Name FROM Account LIMIT 10), and pressCtrl-eto execute. - View query results formatted as colored JSON records.
- Focus the query box, type any SOQL query (e.g.,
[3] Apex Logs:
- Lists recent Salesforce Apex Logs.
- Select a log from the list to display its complete body in the detail viewer with custom warning/debug syntax highlighting.
- Press
gto refresh the log list. - Press
tto open a real-time log tail stream (sf apex log tail).
[4] Apex Jobs:
- Lists and monitors Salesforce
AsyncApexJobrecords (Batch Apex, Queueable Apex, etc.) with real-time status colors and execution progress. - Press
Enteron any job to view an overlay dialog showing complete details (including stack traces/error messages if failed). - Press
gto refresh the job list.
- Lists and monitors Salesforce
[5] Metadata Explorer:
- Browse metadata components (e.g.,
ApexClass,ApexTrigger) directly from Salesforce. - View the source code body of classes and triggers directly in the TUI.
- Press
gto refresh the list of items.
- Browse metadata components (e.g.,
[6] Org Manager:
- Displays all authenticated Salesforce orgs (
sf org list). - Press
Enteron any org in the list to switch your default Salesforce target org (sf config set target-org=<alias>). - Displays detailed credentials, login URLs, and access tokens for the highlighted org.
- Press
gto refresh the org list.
- Displays all authenticated Salesforce orgs (
[7] CSV Viewer:
- Scans your current workspace root folder for
.csvfiles. - Select any CSV file to display its contents in a beautifully formatted text grid with auto-aligned column borders.
- Scans your current workspace root folder for
Prerequisites
- Node.js (v18 or higher)
- Salesforce CLI (
sf) installed and authenticated to your org(s). - Git (optional, required for Tab 1 Deploy/Retrieve changed files).
Installation & Running
Initialize the project dependencies:
npm installDev Mode
Run the tool directly from TypeScript source:
npm run devProduction Build & Run
Compile the TypeScript code using tsup:
npm run buildStart the compiled CommonJS bundle:
npm startGlobal Navigation Keys
1to7: Switch tabs.Tab: Cycle focus between panels (e.g., from list to diff box).Ctrl-c: Exit the application.Up / Down(orj / k): Scroll lists or text views.
