Skip to content

Blog CMS CI passes React 19 and router 7 upgrades it cannot run #33

Open

Description

@ecv

A React 19 or react-router-dom 7 upgrade to the blog CMS can pass CI and still break the admin panel, because strapi build only prints a version warning for both. A throwaway branch for #32 showed react 19, react-dom 19 and react-router-dom 7 each building green, while styled-components 5 failed. Strapi 5.59 declares React 18 and router 6, so Renovate's next major for either would merge with a passing check that never ran the code.

Plan

  1. Add a CI step that runs npm ls on react, react-dom, react-router-dom and styled-components. .npmrc sets legacy-peer-deps=true so install succeeds, which also hides a version outside Strapi's peer range, and npm ls reports that version as invalid and exits non-zero.
  2. Add a Renovate rule that holds react, react-dom and react-router-dom to Strapi's peer majors, so no upgrade PR opens until Strapi raises its ranges.
  3. Later, if wanted, a boot smoke test that starts Strapi on SQLite and calls the admin panel and /graphql, which catches runtime breaks the first two cannot.

Steps 1 and 2 ship in one PR.

Acceptance criteria

Related to #30
Related to https://github.com/datum-cloud/engineering/issues/414

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions