Commit Graph
5 Commits
Author SHA1 Message Date
Tommy D. Rossi 4ecca30f68 release: disktree@0.2.0
disktree now runs on plain Node (>=20). Bun is no longer required.

- ship tsc output in dist/, bin is dist/cli.js with a node shebang
- tsconfig follows the npm-package template (nodenext, rootDir src)
- worker URL follows the running file extension (.ts in src, .js in dist)
- prepublishOnly wipes dist and rebuilds
- README and AGENTS use npx disktree

Session: ses_f1b9d5d03ffep38dyOKhtgIJSt
2026-09-27 21:54:30 +02:00
Tommy D. Rossi e8efacb0f7 chore(disktree): publish locally instead of from CI
- remove the publish-disktree CI job. It waited for all three native builds
  even though disktree ships only .tsx source
- prepublishOnly now runs tsc and the GPU test instead of refusing without CI
- AGENTS.md documents disktree as the one local-publish exception

Session: ses_f1b9d5d03ffep38dyOKhtgIJSt
2026-09-27 21:48:07 +02:00
Tommy D. Rossi 0846f894d2 fix(disktree): drop bun:ffi iCloud check and publish 0.1.2
- remove the SF_DATALESS check in scan-worker.ts. It called libc lstat
  through bun:ffi with a hardcoded arm64 struct offset
- remove the `cloud` field from DirRecord and its use in core.ts
- iCloud folders are now scanned like any other folder
- disktree still runs on Bun (raw .tsx bin)
- bump disktree to 0.1.2 so CI publishes it

Session: ses_f1b9d5d03ffep38dyOKhtgIJSt
2026-09-27 21:45:27 +02:00
Tommy D. Rossi 193f9c9dae fix(disktree): reduce scan memory and publish 0.1.1
Limit scan workers to four, reducing peak physical footprint by about 60 MiB on a 350k-file scan. Publish disktree independently after its GPU-backed test, so unrelated GPUIX CI failures cannot block the release.

Session: ses_f1be8a987ffeslJ1dooQ4pgDnx
2026-09-27 20:28:40 +02:00
Tommy D. Rossi b3c2823e01 feat(disktree): publish disktree as its own npm package
`bunx disktree [dir]` opens the treemap on a folder, the current directory,
or `/`. Published as disktree@0.1.0.

- moved from examples/ to a `disktree` workspace package: src/app.tsx
  (store + view), src/cli.tsx (bin), src/core.ts, src/scan-worker.ts
- scan runs on a pool of worker threads with sync lstat, like the Rust
  original on rayon; the frontier is handed back after 400 dirs so deep
  trees spread across workers. Full disk here: 24.5M files in 150 s, no
  stall
- skips iCloud dataless folders (SF_DATALESS via bun:ffi lstat), like the
  Rust scanner; listing them made macOS download them and stalled the scan
- keeps the 12 largest files per directory, folds the rest into one
  "N smaller files" tile
- store lives on globalThis so `bun --hot` remounts instead of starting a
  second full scan
- scan progress bar uses used disk space as the total when scanning a
  volume root
- lighter pastel tiles at 90% opacity

Session: ses_f1cc78bbbffeiqA1qhn3vB0pzN
2026-09-27 17:18:30 +02:00