Skip to content

Tooling: automated migration PRs #219

@43081j

Description

@43081j

A thing we've had in the roadmap for a while now: automating migration PRs.

Imagine dependabot PRs but for things like:

  • dropping redundant polyfills
  • module replacements
  • consolidation of dependencies duplicating functionality

From what I remember, renovate were open to collab on this (such that it ends up in renovate) but i think we're better off iterating quickly on our own GitHub action initially. once we have one that works, we can hopefully integrate into renovate too

Basic usage

  • Run on a trigger
    • The user sets this up in their workflow (e.g. a schedule, weekly)
  • Detect replaceable modules
    • The same way the CLI and ESLint plugin do
  • Automatically migrate from these modules
    • User should be able to decide if we do all at once or one at a time (i.e. one PR per module)
    • Use the existing codemods repo
  • Create a PR with this updated branch

Known gaps

Codemods are only replacements

The codemods we already have are for module replacements. We don't yet have any for removing packages like polyfills if I remember correctly.

Module replacements v2

We need module replacements v2 (tracking issue) since we need a way to detect engine constraints, especially for the polyfill removal stuff.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions