๐ Baseline Modernizer
An intelligent VS Code Extension that helps developers modernize legacy web projects by detecting outdated patterns, analyzing browser compatibility, and guiding modernization through an interactive dashboard.
๐ก Inspiration
Legacy web projects often rely on outdated APIs, deprecated features, and inconsistent browser behavior. While the Baseline initiative provides valuable compatibility data, developers lacked an integrated tool to analyze, visualize, and modernize legacy code efficiently. We were inspired to create a developer-friendly modernization assistant that not only detects legacy patterns but also guides teams through a structured modernization roadmap โ making the migration from legacy to modern effortless and measurable.
โ๏ธ What It Does
Baseline Modernizer offers an end-to-end modernization experience inside VS Code: ๐ Scans JavaScript, TypeScript, HTML, and CSS to detect 15+ legacy patterns ๐ Interactive Dashboard with modernization metrics and progress visualization ๐ Browser Compatibility Matrix powered by Baseline data ๐งฉ Smart Recommendations with modern alternatives and migration hints ๐๏ธ Categorized Reports (by feature, browser, or phase) ๐งญ 5-Phase Modernization Roadmap to track modernization milestones ๐ Report Generation for team reviews and documentation The tool transforms complex modernization into an interactive, guided journey.
๐ ๏ธ How We Built It
๐ง Core Logic: Custom analyzers using AST parsing for JS/TS and pattern matching for HTML/CSS ๐ Baseline Data Integration: Maps legacy APIs to modern equivalents and browser support levels ๐ป VS Code Extension: Built with TypeScript, VS Code API, and Webview UI components ๐จ Dashboard UI: Interactive, animated webview using charts, counters, and filters ๐ Report Engine: Exports modernization summaries (Baseline-Dashboard-Report.json) ๐งฎ Roadmap System: Five modernization phases dynamically updated based on scan results Everything is modular โ the analyzer, UI, and report generator are independent yet synchronized.
โ๏ธ Challenges We Ran Into
๐งฉ Complex Parsing: Handling diverse codebases and detecting subtle legacy usages ๐ Performance Tuning: Real-time scanning of large repositories required incremental caching ๐ฅ๏ธ Webview Synchronization: Keeping data and UI in sync across reloads was tricky ๐งญ Mapping Difficulties: Some legacy APIs lack direct modern equivalents ๐ Compatibility Updates: Maintaining up-to-date browser data across versions Despite these, we achieved a smooth developer experience with minimal lag and accurate detections.
๐ Accomplishments That We're Proud Of
๐ฏ A fully functional VS Code modernization assistant ๐ Visually rich interactive dashboard with real-time analytics ๐ง Smart detection logic that provides meaningful modernization insights ๐บ๏ธ A structured roadmap guiding developers phase by phase ๐งพ Report generation that simplifies collaboration and stakeholder communication ๐งฑ Modular design that enables future scalability and customization
๐ What We Learned
๐ต๏ธ The importance of balancing detection precision with performance ๐งฉ How to structure VS Code extensions with responsive and dynamic dashboards ๐ Designing heuristics that minimize false positives ๐ง Leveraging Baseline data effectively to bridge compatibility with modernization โก Optimizing WebView rendering and event handling for a smooth user experience ๐ฎ Whatโs Next for Baseline Modernizer ๐งฑ Add more legacy detection patterns (CSS, DOM, obsolete browser APIs) โก Implement auto-fix suggestions for safe modernization ๐ Enable live watch mode for real-time updates as developers code ๐งฎ Integrate into CI/CD pipelines for modernization tracking ๐งพ Support PDF/HTML report exports with visual summaries โ๏ธ Allow custom rule definitions for project-specific modernization goals ๐ Keep compatibility data auto-synced with Baselineโs latest releases ๐งฐ Add presets for frameworks like AngularJS, jQuery, and Backbone ๐ฌ Introduce team collaboration features within the dashboard
Built With
- api
- baseline
- css3
- es6+
- extension
- html5
- javascript
- node.js
- typescript
- vscode
Log in or sign up for Devpost to join the conversation.