Skip to content

Commit 5c3d2bf

Browse files
authored
Merge pull request #63 from zz85/v6
V6 - 2026 edition bump
2 parents 8594804 + 8146326 commit 5c3d2bf

26 files changed

Lines changed: 8906 additions & 3114 deletions

.github/workflows/build.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Build/release
2+
3+
on: push
4+
5+
jobs:
6+
release:
7+
runs-on: ${{ matrix.os }}
8+
timeout-minutes: 30
9+
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
os: [macos-latest, ubuntu-latest, windows-latest]
14+
15+
steps:
16+
- name: Check out Git repository
17+
uses: actions/checkout@v4
18+
19+
- name: Install Node.js and NPM
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: 20
23+
24+
- name: Build/release Electron app
25+
uses: samuelmeuli/action-electron-builder@v1.6.0
26+
with:
27+
# GitHub token, automatically provided to the action
28+
# (No need to define this secret in the repo settings)
29+
github_token: ${{ secrets.github_token }}
30+
31+
# macOS code signing certificate
32+
mac_certs: ${{ secrets.MAC_CERTS }}
33+
mac_certs_password: ${{ secrets.MAC_CERTS_PASSWORD }}
34+
35+
# If the commit is tagged with a version (e.g. "v1.0.0"),
36+
# release the app after building
37+
release: ${{ startsWith(github.ref, 'refs/tags/v') }}
38+
39+
# Build only for current platform, explicitly publish
40+
args: ${{ matrix.os == 'macos-latest' && '--mac --publish always' || matrix.os == 'ubuntu-latest' && '--linux --publish always' || '--win --publish always' }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@ logs/
2020

2121
# Build outputs
2222
builds/
23+
dist/
2324
SpaceRadar-*/
2425
*.zip

.travis.yml

Lines changed: 0 additions & 44 deletions
This file was deleted.

README.md

Lines changed: 77 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,79 @@
1-
Space Radar Electron
2-
====
1+
# Space Radar
2+
33
SpaceRadar allows interactive visualization of disk space and memory. It currently supports Sunburst, Treemap, and Flamegraph charts.
44

5-
Downloads
6-
==
7-
Download Mac and Windows at the [releases page](https://github.com/zz85/space-radar-electron/releases)
8-
9-
Features
10-
==
11-
- space visualizations using sunburst and treemap charts
12-
- previews visualization as disk is being scanned
13-
- fast (completes disk scanner faster than du)
14-
- cross platform (at least on Mac OS X and Windows)
15-
- allow drilldown of directories
16-
- breadcrumbs and navigation
17-
- opens files and directories
18-
- analyze disk contents from a remote server (see section [Reading from a file](#reading-file))
19-
20-
Screenshots
21-
==
5+
## Downloads
6+
7+
Download Mac, Windows, and Linux builds at the [releases page](https://github.com/zz85/space-radar/releases)
8+
9+
## Features
10+
11+
- Space visualizations using sunburst, treemap, and flamegraph charts
12+
- Previews visualization as disk is being scanned
13+
- Fast scanning (completes faster than `du`)
14+
- Cross platform (macOS, Windows, Linux)
15+
- Apple Silicon native support (arm64)
16+
- Cancel and pause/resume scanning
17+
- Free space visualization
18+
- Directory drilldown with breadcrumbs and navigation
19+
- Opens files and directories in system file manager
20+
- Analyze disk contents from a remote server (see [Reading from a file](#reading-from-a-file))
21+
- Memory usage breakdown (cross-platform)
22+
- Auto-updates
23+
24+
## Screenshots
25+
2226
![space-radar-4](https://cloud.githubusercontent.com/assets/314997/11022585/5c847364-869d-11e5-8079-0a16e7d747e4.gif)
2327

2428
![screenshot 2015-11-09 04 45 27](https://cloud.githubusercontent.com/assets/314997/11022582/3cc0bc90-869d-11e5-85c2-e79a0bf7c27f.png)
2529

2630
![screenshot 2015-11-09 04 45 36](https://cloud.githubusercontent.com/assets/314997/11022581/33822b50-869d-11e5-9fe6-2db6b7a81505.png)
2731

32+
## Reading from a file
2833

29-
Reading from a file <a id="reading-file"></a>
30-
==
3134
To create a file to be read from use `du -ak`, for example:
35+
3236
- `du -ak /var/log /usr | gzip -c > /tmp/sizes.txt.gz`
3337
- `du -ak /opt /home /tmp > /tmp/sizes.txt`
3438

3539
Compressed files can be read directly. To detect them, the file name has to end with `.gz`.
3640

37-
Future Enhancements
38-
==
39-
- more target for scanning
40-
- color by file types
41-
- filter hidden files
42-
- moar!!
43-
- let me know what you think
44-
45-
Futher Explorations
46-
==
47-
- More efficient memory usage
48-
- More efficient scanning process
49-
- 3D visualization
41+
## What's New
5042

51-
History
52-
==
43+
### V6
5344

54-
This project started as quick prototype for me to test drive [electron](https://www.electronjs.org/) (& some es6 syntax), [d3.js](https://d3js.org) and for me to explore the question of "what's taking up my disk space". Turns out writing a disk visualization app isn't that simple as I dwell into figuring out how to make disk scanning not block the ui thread, ipc calls go faster, smoother rendering, lesser memory usage, more sensible interactions...
45+
- **Electron 40** - Major upgrade from Electron 28
46+
- **Apple Silicon** - Native arm64 builds for M1/M2/M3 Macs
47+
- **Canvas Sunburst** - Rewritten visualization using Canvas 2D for much better performance
48+
- **Cancel/Pause Scanning** - Stop or pause ongoing scans, view partial results
49+
- **Free Space Visualization** - See available disk space in the sunburst chart
50+
- **Accurate Scanning** - Skip symlinks, dedupe hardlinks, exclude problematic paths (OneDrive caches, system files)
51+
- **Real-time Stats** - See file/directory counts, scan speed, and errors during scanning
52+
- **Memory Visualization** - Cross-platform support (macOS, Windows, Linux)
53+
- **Color Schemes** - New Seaborn palettes, colorblind-friendly options
54+
- **3D Mode** - Experimental 3D sunburst visualization
55+
- **Auto-updates** - Automatic update notifications via electron-updater
56+
- **GitHub Actions CI/CD** - Automated builds for all platforms
5557

58+
### V5
5659

57-
Whats New
58-
==
59-
V5
6060
- Import from DU file
6161
- Upgrade electron
6262
- Flamegraphs (BETA)
6363
- Directory Listview
6464
- Update libs - Electron, D3
6565

66-
V4
66+
### V4
67+
6768
- Treemap view
6869
- Memory monitoring
6970
- Mac App look using [Photon](http://photonkit.com)
7071
- Context Menus for locating + opening + deleting files / directories
7172
- Navigation controls (back/fwd/up)
7273
- Switched disk scanning jobs to invisible renderer process
7374

74-
Version 3
75+
### V3
76+
7577
- App icon finally! Thanks [Jill](http://jilln.com/) for the help with this :)
7678
- Many Bug fixes
7779
- Disk scanning is moved to a webview process
@@ -84,41 +86,58 @@ Version 3
8486
- Locate path in Finder
8587
- Env Debug Flags
8688

87-
Version 2
89+
### V2
90+
8891
- Major speed up scanning directories. About 10x from version 1, and almost as fast or faster than du.
8992
- Runs disk scanning as a separate headless renderer process
9093
- Json is passed back via IPC
9194
- Remove Async npm dependency
9295

93-
Issues
94-
==
95-
Please raise on [github issue tracker](https://github.com/zz85/space-radar-electron/issues) or contact [@blurspline on twitter](http://twitter.com/blurspline)
96-
97-
Development
98-
==
96+
## Development
9997

100-
Run
98+
Install dependencies:
10199

100+
```bash
101+
npm install
102102
```
103+
104+
Run in development mode:
105+
106+
```bash
103107
npm run debug
104108
```
105109

106-
or
110+
Or simply:
107111

108-
```
109-
npm run app
112+
```bash
113+
npm start
110114
```
111115

112-
Check that dependencies are installed, otherwise run (this may take awhile for electron binaries)
116+
Build for distribution:
113117

118+
```bash
119+
npm run build # Current platform
120+
npm run build:mac # macOS
121+
npm run build:win # Windows
122+
npm run build:linux # Linux
114123
```
115-
npm run install
116-
```
117124

118-
Thanks
119-
==
125+
## History
126+
127+
This project started as quick prototype for me to test drive [Electron](https://www.electronjs.org/) (& some ES6 syntax), [D3.js](https://d3js.org) and to explore the question of "what's taking up my disk space". Turns out writing a disk visualization app isn't that simple as I dwell into figuring out how to make disk scanning not block the UI thread, IPC calls go faster, smoother rendering, lesser memory usage, more sensible interactions...
128+
129+
## Issues
130+
131+
Please raise on [GitHub issue tracker](https://github.com/zz85/space-radar/issues) or contact [@blurspline on Twitter](http://twitter.com/blurspline)
132+
133+
## Thanks
134+
120135
- [Jill](http://jilln.com/) for designing the app logo
121136
- Jianwei for his comments on the app
122137
- Chee Aun for helping alpha test the app
123138
- WM for his talk on Electron that got me started
124139
- [Contributors](https://github.com/zz85/space-radar/graphs/contributors)
140+
141+
## License
142+
143+
MIT

0 commit comments

Comments
 (0)