-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed
Description
Summary
BunKill is currently only tested on macOS. Windows has not been validated and has several known incompatibilities that need to be addressed.
Known Issues
1. Shell commands not available on Windows
src/scanner.ts:157-169—getDirectorySize()spawnsdu -skwhich is not available on Windows by defaultsrc/scanner.ts:426-429—deleteModules()spawnsrm -rfwhich is not available on Windows (should userd /s /qorfs.rm)
2. Path separator handling
src/scanner.ts:51—isWithinRoot()uses hardcoded/separatorsrc/scanner.ts:55—hasHiddenPathSegment()uses hardcoded/src/scanner.ts:245—fullPath.split("/node_modules")hardcoded separatorsrc/scanner.ts:328—projectPath = nmPath.replace(/\/node_modules$/, "")hardcoded separator- Multiple other places use
/instead ofpath.seporpath.join
3. Terminal UI
- Raw mode handling (
setRawMode) may behave differently on Windows - ANSI escape codes for cursor movement and colors may need Windows Terminal or ConPTY
Proposed Solutions
- Replace
du -skwith a cross-platform size calculation (e.g., recursiveBun.file().stat()or usenode:fsAPIs) - Replace
rm -rfwithfs.promises.rm(path, { recursive: true, force: true })(available in Node/Bun) - Use
path.seporpath.join()consistently instead of hardcoded/ - Test on Windows Terminal and document minimum terminal requirements
- Add CI testing on Windows (GitHub Actions
windows-latest)
Testing Needed
- Run
bunkillon Windows 10/11 with Windows Terminal - Run
bunkill --dry-runand verify paths display correctly - Run
bunkill --delete-allon a test directory and verify deletion works - Test interactive mode (arrow keys, space, enter, search)
- Test
--full-scanmode on Windows - Test with paths containing spaces and special characters
Acceptance Criteria
- All shell commands replaced with cross-platform equivalents
- Path handling uses platform-agnostic methods
- Interactive UI works on Windows Terminal
- CI pipeline includes Windows testing
- README updated with Windows installation and usage instructions
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed