Skip to content

Changelog โ€‹

All notable changes to Importy will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.1.2] - 2025-06-05 โ€‹

๐Ÿ”ง Fixed โ€‹

  • Documentation UI: Fixed TypeScript word-break issue in hero text and titles
  • Date Consistency: Updated all 2024 dates to current 2025 dates across documentation
  • GitHub Actions: Fixed pnpm compatibility issues with dependency caching
  • CI/CD Pipeline: Resolved "Dependencies lock file is not found" errors

๐Ÿ“– Documentation โ€‹

  • Custom Theme: Added VitePress custom theme with improved typography
  • CSS Improvements: Enhanced text rendering and mobile responsiveness
  • Changelog Updates: Synchronized all timestamps and examples with current date

๐Ÿš€ CI/CD โ€‹

  • pnpm Integration: Migrated from manual pnpm installation to pnpm/action-setup@v2
  • Cache Optimization: Proper pnpm lock file detection and caching
  • Build Stability: All workflows now run successfully with consistent pnpm version

[0.1.1] - 2025-06-05 โ€‹

๐ŸŽ‰ First Stable Release! โ€‹

This is the first stable release of Importy with all core features implemented and tested.

โœจ Added โ€‹

  • Core Analysis Engine: Fast and accurate import detection using Babel AST parsing
  • Parallel Processing: Multi-threaded file processing with configurable concurrency
  • Comprehensive CLI: Complete command-line interface with all essential options
  • File Filtering: Include/exclude patterns using glob syntax
  • JSON Output: Structured output format for automation and integration
  • Verbose Logging: Detailed progress and debugging information
  • Error Handling: Graceful handling of parse errors and invalid files
  • Performance Optimization: Efficient memory usage and processing speed
  • Cross-platform Support: Works on Windows, macOS, and Linux

๐Ÿ”ง CLI Options โ€‹

  • --dir, -d: Directory to scan (required)
  • --lib, -l: Library name to analyze (required)
  • --output, -o: Save results to JSON file
  • --verbose, -v: Enable detailed logging
  • --include, -i: Include files matching pattern
  • --exclude, -e: Exclude files matching pattern
  • --concurrency, -c: Number of worker threads
  • --version: Show version number
  • --help, -h: Display help information

๐Ÿ“Š Output Features โ€‹

  • Summary Statistics: Component count, total imports, files scanned
  • Detailed Mapping: Each component mapped to file locations
  • Metadata: Analysis configuration and tool version
  • Performance Metrics: Processing time and timestamps

๐ŸŽฏ Library Support โ€‹

  • React: Hooks, components, and utilities
  • Lodash: All utility functions and modules
  • Material-UI: Components and icons (@mui/material, @mui/icons-material)
  • Date Libraries: date-fns, moment, day.js
  • HTTP Libraries: axios, fetch utilities
  • Utility Libraries: ramda, underscore
  • Any ES Module: Universal support for import/export syntax

๐Ÿš€ Performance โ€‹

  • Multi-threading: Parallel file processing using worker threads
  • Memory Efficient: Optimized memory usage for large codebases
  • Fast Parsing: Babel-powered AST parsing for accuracy
  • Configurable Concurrency: Adjust workers based on system capabilities

๐Ÿ“– Documentation โ€‹

  • Comprehensive README: Complete usage guide and examples
  • Interactive Demo: Live terminal recording showing real usage
  • API Documentation: Detailed CLI reference
  • Examples: Common use cases and integration patterns

๐Ÿงช Testing โ€‹

  • Programmatic Tests: Core functionality testing via JavaScript API
  • CLI Tests: Command-line interface testing
  • Error Handling Tests: Validation of error scenarios
  • Performance Tests: Benchmarking and optimization validation

๐Ÿ”„ CI/CD โ€‹

  • Automated Testing: GitHub Actions for continuous integration
  • Automated Releases: Streamlined release process
  • Quality Checks: Code formatting, linting, and type checking
  • Cross-platform Testing: Validation on multiple operating systems

[0.1.0] - 2025-06-05 โ€‹

๐Ÿšง Initial Development Release โ€‹

This was the initial development release with basic functionality.

โœจ Added โ€‹

  • Basic import analysis functionality
  • Simple CLI interface
  • JSON output format
  • File system traversal
  • Basic error handling

๐Ÿ› Known Issues โ€‹

  • Limited concurrency support
  • Basic error messages
  • No file filtering options
  • No verbose logging

[Unreleased] โ€‹

๐Ÿ”ฎ Planned Features โ€‹

๐ŸŽฏ Enhanced Analysis โ€‹

  • Import Usage Tracking: Track how imported components are actually used in code
  • Dependency Graphs: Visualize import relationships between files
  • Unused Import Detection: Identify imports that are declared but never used
  • Tree-shaking Analysis: Calculate potential bundle size savings

๐Ÿš€ Performance Improvements โ€‹

  • Incremental Analysis: Only re-analyze changed files
  • Caching: Cache parse results for faster subsequent runs
  • Streaming Processing: Process very large codebases with minimal memory
  • Watch Mode: Real-time analysis as files change

๐Ÿ”ง CLI Enhancements โ€‹

  • Configuration Files: Support for .importyrc configuration files
  • Multiple Libraries: Analyze multiple libraries in a single command
  • Output Formats: Support for CSV, XML, and other output formats
  • Interactive Mode: Guided analysis with prompts and suggestions

๐Ÿ“Š Reporting โ€‹

  • HTML Reports: Rich, interactive HTML reports with charts
  • Trend Analysis: Track import usage changes over time
  • Comparison Reports: Compare import usage between branches or versions
  • Metrics Dashboard: Web-based dashboard for project insights

๐Ÿ”Œ Integrations โ€‹

  • VS Code Extension: Native editor integration
  • Webpack Plugin: Integration with build tools
  • ESLint Rules: Custom linting rules based on analysis
  • GitHub Actions: Pre-built actions for CI/CD pipelines

๐ŸŽจ User Experience โ€‹

  • Progress Bars: Visual progress indicators for long-running analyses
  • Colors and Icons: Enhanced terminal output with colors and symbols
  • Suggestion Engine: Automated recommendations for optimization
  • Quick Start Wizard: Guided setup for new projects

๐Ÿ”„ Breaking Changes (Future Versions) โ€‹

These changes are planned for future major versions:

v2.0.0 (Planned) โ€‹

  • Configuration Format: New YAML-based configuration format
  • Output Schema: Enhanced JSON schema with additional metadata
  • API Changes: Simplified programmatic API
  • Node.js Requirements: Minimum Node.js version bump to 20.0.0

v3.0.0 (Planned) โ€‹

  • Plugin System: Extensible plugin architecture
  • Language Support: TypeScript, JSX, Vue, Svelte analysis
  • Advanced Patterns: Support for dynamic imports and complex patterns

Version Support โ€‹

Current Support โ€‹

  • v0.1.x: Full support with bug fixes and security updates
  • Node.js: 18.0.0+ required
  • Platforms: Windows, macOS, Linux

End of Life โ€‹

  • v0.0.x: No longer supported (development versions)

Migration Guides โ€‹

Upgrading to v0.1.1 โ€‹

No breaking changes from v0.1.0. Simply update your package:

bash
npm update -g importy

Future Migrations โ€‹

Migration guides will be provided for all major version updates with:

  • Step-by-step upgrade instructions
  • Breaking change explanations
  • Automated migration tools where possible
  • Compatibility shims for smooth transitions

Contributing โ€‹

We welcome contributions! See our Contributing Guide for:

  • How to report bugs
  • How to suggest features
  • Development setup instructions
  • Code contribution guidelines

Security โ€‹

For security vulnerabilities, please see our Security Policy.


For the complete commit history and detailed changes, see the GitHub Releases page.

Released under the MIT License.