Skip to content

Latest commit

 

History

History
243 lines (174 loc) · 9.4 KB

File metadata and controls

243 lines (174 loc) · 9.4 KB

Changelog

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

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

[2.6.0] - 2026-02-23

Added

  • Complete MMDS Component List: MMDS Usage sheet now shows all available MMDS components, including those with 0 instances

    • Previously only showed components that were actively used
    • Now displays the full component list with usage counts, making it easier to identify available but unused components
    • Helps track MMDS component adoption opportunities
  • Totals Rows: All sheets now include totals at the bottom for easy summary analysis

    • Migration Progress: Shows total deprecated instances, total MMDS instances, and overall migration percentage (with accurate deduplication)
    • Intermediate Migrations: Shows total instances awaiting intermediate migration
    • MMDS Usage: Shows total MMDS component instances across all components
    • No Replacement: Shows total instances of components without direct replacements
    • Console output now displays these totals for quick visibility
  • Grouped Display with Summary Rows: Migration Progress sheet now groups deprecated components by their MMDS replacement

    • Components mapping to the same MMDS component are displayed together (e.g., all Icon variants grouped together)
    • Individual rows show deprecated component details with "-" for MMDS instances and percentage to avoid misleading duplicates
    • Summary rows (format: "→ Component Total") show aggregated deprecated count, MMDS instances, and accurate migration percentage for each group
    • Single-mapping components continue to display normally with all columns filled
    • Provides much more accurate and meaningful migration percentages

Fixed

  • Migration Progress Totals: Fixed duplicate counting when multiple deprecated components map to the same MMDS component

    • Each MMDS component is counted only once in the total, providing accurate migration percentage
    • Individual rows still show correct per-component breakdown
  • Test Suite: Updated tests to work with date-stamped output files

    • Added helper function to dynamically find generated XLSX files
    • All 14 tests passing

[2.5.0] - 2026-02-21

Fixed

  • Version Number: Corrected CLI version number in index.js to match package.json version (was incorrectly set to "3.0.0")

[2.4.0] - 2026-02-21

Added

  • Output File Date Stamps: Generated XLSX files now automatically include today's date in the filename
    • Format: {project}-component-metrics-YYYY-MM-DD.xlsx
    • Example: extension-component-metrics-2026-02-21.xlsx
    • Makes it easier to track metrics over time and compare historical data

Changed

  • Extension Component Mappings: Corrected replacement targets to reflect actual migration state

    • Set 30+ component-library versions as most up to date with no MMDS replacement: BannerAlert, BannerBase, BannerTip, FileUploader, FormTextField, HeaderBase, HelpText, Input, Label, LottieAnimation, Modal components (7), PickerNetwork, SelectButton, SelectOption, SelectWrapper, SensitiveText, Skeleton, Tag, TagUrl, Textarea, TextFieldSearch
    • Added intermediate migrations to component-library: Chip→Tag, FormField→FormTextField, Menu→Popover
    • Fixed replacement targets: SiteOrigin→AvatarFavicon (was Text), ButtonLink→TextButton (was ButtonBase), ActionableMessage/Callout→BannerAlert (was BannerBase)
  • Mobile Component Mappings: Updated 60+ components to reflect actual migration state

    • Set component-library versions as most up to date with no MMDS replacement: Accordion, AccountBalance, AccountBase, AccountCell, ActionListItem, AggregatedPercentage, Avatar, Badge, BadgeBase, Banner components (3), BottomSheet components (3), ButtonFilter, ButtonHero, ButtonPill, ButtonSemantic, ButtonToggle, Card, Cell components (5), ConditionalScrollView, ContractBox components (2), CustomInput, CustomSpendCap, Header components (5), HelpText, Input, KeyValueRow, Label, ListItem components (6), Loader, MainActionButton, Modal components (2), Multichain components (4), MultiSelectItem, PercentageChange, Picker components (3), QuickAction components (2), RadioButton, SegmentedControl, Select components (4), SensitiveText, Skeleton, Tab components (6), Tag components (3), TextField, TextFieldSearch, TextWithPrefixIcon, TitleLeft, Toast
    • Added intermediate migrations to component-library: SheetBottom→BottomSheet, SheetHeader→BottomSheetHeader
    • Fixed replacement targets: ButtonLink→TextButton (was ButtonBase), BadgeNotifications→BadgeCount

Fixed

  • Component replacement mappings now accurately reflect which components are the most current implementations
  • Intermediate migration paths correctly identify multi-step migrations through component-library before eventual MMDS migration

[2.2.0] - 2026-01-22

Added

  • Mobile Components: Added 10 missing components to mobile deprecatedComponents list:
    • BadgeNotifications
    • HeaderBase
    • ListItemMultiSelect
    • ListItemSelect
    • RadioButton
    • SelectButton
    • SelectOption
    • SelectValue
    • SensitiveText
    • Skeleton
  • Documentation: Added Future Feature Ideas section to README
    • Props Audit concept
    • Team Adoption Metrics using CODEOWNERS

Changed

  • Mobile Components: Updated to 110 deprecated components (from 100)

Fixed

  • CHANGELOG: Corrected inaccuracies in version history
    • Removed duplicate 2.0.0 entry
    • Fixed dates and component counts
    • Clarified that 2.1.0 did not include the 10 mobile components

[2.1.0] - 2026-01-22

Added

  • Documentation: CHANGELOG.md created with full version history from 1.0.0 through 2.1.0

2.0.0 - 2026-01-21

🎉 Major Refactor

This release represents a complete architectural overhaul to better align with migration tracking goals.

Added

  • Explicit Component Lists: Introduced deprecatedComponents and currentComponents arrays per project
  • Missing Components: Added 5 components to Extension tracking:
    • FileUploader
    • LottieAnimation
    • Skeleton
    • SensitiveText
    • Textarea (restored)
  • Comprehensive Test Suite: Added Jest test suite with 8 passing tests
    • Test fixtures for deprecated, current, and mixed usage
    • Tests for source separation and file path tracking
    • JSON output format testing
  • Test Scripts: Added yarn test and yarn test:watch commands
  • Jest Configuration: Added jest.config.js for proper test execution

Changed

  • BREAKING: Simplified from 4 projects to 2 (extension and mobile only)
  • BREAKING: Removed design-system-react and design-system-react-native project configs
  • BREAKING: Split components array into deprecatedComponents and currentComponents
  • Architecture: Local /component-library imports now map to deprecatedComponents
  • Architecture: NPM package imports now map to currentComponents
  • Extension Components: Now tracks 47 deprecated + 24 current components
  • Mobile Components: Now tracks 100 deprecated + 25 current components
  • Component Lists: Updated to match actual folder structure and NPM package exports
  • Removed AvatarAccount from Extension deprecatedComponents (only exists in NPM package)

Fixed

  • Component lists now accurately reflect the actual local component-library folders
  • Test expectations now match actual component usage patterns
  • All 8 tests passing

Documentation

  • Updated README.md with new architecture
  • Clarified two-project structure (extension and mobile)
  • Documented deprecatedComponents vs currentComponents mental model

[1.0.2] - 2024-10-04

Security

  • Dependency updates via Dependabot

1.0.1 - 2024-10-04

Fixed

  • Added missing component
  • Updated dependencies

Security

  • Updated brace-expansion
  • Updated cross-spawn

1.0.0 - 2024-10-04 - Initial Release

Added

  • Initial CLI tool for design system metrics
  • Support for Extension and Mobile projects
  • CSV and JSON output formats
  • Component usage tracking via AST parsing
  • Babel-based JSX parsing
  • Commander-based CLI interface

Migration Guide: v1.x → v2.0.0

Breaking Changes

If you were using v1.x, here's what changed:

1. Configuration Structure

Before (v1.x):

{
  "projects": {
    "extension": {
      "components": ["Button", "Icon", ...]
    }
  }
}

After (v2.0.0):

{
  "projects": {
    "extension": {
      "deprecatedComponents": ["Button", "Icon", ...],
      "currentComponents": ["Button", "Icon", ...]
    }
  }
}

2. Removed Projects

The following projects were removed:

  • design-system-react
  • design-system-react-native

To audit the design system packages themselves, run the tool directly in those repositories.

3. Output Files

Output file naming remains the same:

  • {project}-component-metrics-deprecated.csv
  • {project}-component-metrics-current.csv

Benefits of Upgrading

  • ✅ Clearer separation between deprecated and current components
  • ✅ More accurate component lists matching actual codebase
  • ✅ Better migration tracking (old vs new)
  • ✅ Comprehensive test coverage
  • ✅ Simpler, more focused architecture