Skip to content

Polaris migrations platform #6614

@sam-b-rose

Description

@sam-b-rose

🛠️ Tooling to automate breaking changes and increase mainline adoption

Problem

Mainline coverage for custom components in Shopify/web is at 29% and is negatively affected by deprecated Sass functions that we added to unblock shipping v9. Shopify and third-party developers need tooling to apply feature and deprecation migrations between major versions.

Manual token and component updates are tedious and prone to error–documentation tables are not a sufficient solution. Building a new migration platform would assist with large-scale, automated codebase refactors to ensure migration accuracy. This would remove tedious manual work and improve our overall speed and thoroughness when making system-wide updates or breaking changes. Providing this tooling would increase coverage and adherence to mainline.

Outcomes

  • 5% increase to mainline coverage
  • 30% (15 to 40%) increase coverage of custom component tokens
  • Start removing some of the legacy-polaris-v8-public-api.scss from Shopify/web
  • Create a new migration tool that will allow us to author and apply migrations (npm package @shopify/polaris-migrator or @shopify/polaris-codemod)
    Establish migration documentation on polaris.shopify.com (Next.js docs example)
  • Future migrations can build upon the patterns created
  • Potentially unblock the usage of @shopify/polaris-stylelint in Shopify/web

Create the platform

Migrations

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions