- Reduced column widths to minimum needed
- Category column sized to fit longest category name (16 chars)
- Added all requested categories:
- JavaScript, TypeScript
- React Components (when detected)
- Stylesheets
- CommonJS Modules, ECMA Modules
- node_modules (separate from source)
- Your Code (excluding node_modules)
- Tests
- All Code (grand total)
- All counts properly exclude node_modules except for node_modules and All Code rows
- Added high coupling warning when imports/file > 10
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace 'Methods' with 'Functions' throughout
- Change F/C (Functions per Class) to F/M (Functions per Module)
- Use beautiful unicode box-drawing characters for table
- Switch from f32 to f64 for better precision
- Add chart emoji to code ratio display
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Continue parsing files despite module resolution errors
- Suppress all error output during stats collection
- Remove unnecessary summary text output
- Stats now silently handles missing dependencies and continues
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Use parsed AST to accurately count functions/classes instead of string searching
- Count s_function, s_class statements
- Check s_local declarations for function/class values
- Check s_expr for function/class expressions
- Check s_export_default for exported functions/classes
- Ignore module resolution and syntax errors so stats collection continues
- Remove unnecessary output text for cleaner, Rails-like formatting
- Add M/C (Methods per Class) and LOC/M (Lines per Method) metrics
- Safely handle CSS files and empty AST parts
- Fix ASAN errors by properly checking parts.len before access
- Use >= instead of < for bounds checking (array indices are 0-based)
- Add comprehensive bounds checks for both sources and loaders arrays
- Check bounds before accessing any array element
- This prevents crashes when processing files with mismatched array sizes
- Use .bun target instead of .browser to properly resolve test files and Bun-specific imports
- Add error logging to show bundler errors when files fail to resolve
- This allows the stats command to work with test files and Bun modules
- Add speed flex message showing LOC analyzed and time taken
- Add Bun API usage detection and rating system (1-10)
- Show encouraging messages based on Bun API usage
- Track imports of 'bun' and 'bun:*' modules
- Detect usage of Bun.* in source code
The rating system encourages developers to use more Bun APIs
by giving them a fun score and helpful suggestions.
- Fix type mismatches in stats_command.zig
- Add proper handling for virtual and builtin files
- Skip runtime file (index 0) in statistics
- Handle bounds checking for AST arrays
- Fix export count calculation for named exports
The stats command now correctly processes files using the bundler's
DependencyScanner and generates accurate statistics.