Repository navigation
Upgrade to Backstage 1.55.3 and modernize toolchain - #181
Merged
Merged
Conversation
Bump Backstage packages to the 1.55.3 release, move build tooling to devDependencies, align React and React Router peer ranges with Backstage, drop unused dependencies, use TypeScript 5.8 and Yarn 4.13.0. Pin got for @yarnpkg/core 4.9.2, which publishes an unresolvable patch dependency.
Update action pins, tighten workflow permissions, and ignore Dependabot majors Backstage cannot adopt.
Pass apiToken as a function (supported since @rootly/backstage-plugin-common 1.5.0) so the token is fetched per request instead of captured once, which caused auth errors on long-lived pages after the Backstage token expired.
Resolves open Dependabot alerts for handlebars, proxy-addr, compression, webpack-dev-middleware, undici, adm-zip, js-yaml, svgo, nanoid, fast-uri and others. Remaining alerts have no upstream fix (braces, sprintf-js) or need majors Backstage does not support yet (react-router 7).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Modernizes dependencies and tooling for Backstage 1.55.3 and bumps the version to 1.4.0.
Supersedes #174 #180
Backstage
backstage.jsonand the Yarn plugin moved from 1.43.3 to 1.55.3.@backstage/cliis now 0.36.6, and every@backstage/*entry in the lockfile matches the 1.55.3 release manifest.backstage:^protocol, because publishing usesnpm publishand that would not rewrite the protocol.@yarnpkg/core/gotresolution.@yarnpkg/core@4.9.2(pulled in by the new CLI) declares apatch:dependency ongotthat cannot be resolved outside the Yarn repo.esbuildresolution, which the Backstage CLI warns about. esbuild now resolves to 0.27.7.package.json hygiene
@backstage/cliandprettierare no longer runtime dependencies. They are devDependencies only.history,qs,install,concurrently,@spotify/prettier-config,swr,cross-fetchand@types/dom-to-image. Prettier now uses@backstage/cli/config/prettier, as in the Backstage template.reactandreact-dom:^17.0.0 || ^18.0.0react-routerandreact-router-dom:^6.30.2typescriptgoes to~5.8.3, the line in the Backstage 1.55.3 create-app template. Previously it was 6.0.@types/nodegoes to 24 to match Node 24 in CI. Previously it was 26.@types/react18.3.31,@types/react-dom18.3.7,react-router(-dom)6.30.6 and@playwright/test1.64.0.Toolchain and CI
mise.toml,.nvmrcand.node-versionare set to Node 24.mise.tomlandpackageManageruse Yarn 4.13.0.actions/setup-nodev7.1.0,actions/checkoutv7.0.1 andactions/upload-artifactv7.0.2. Checkouts usepersist-credentials: false.publish.ymlgets top-levelpermissions: {}, and the job keeps onlycontents: readandid-token: write. Publishing still uses npm OIDC trusted publishing with--provenance, with no token. A duplicatecorepack enablestep was removed.react,react-dom,@types/react*,react-router*,@material-ui/*,@mui/*and@types/node. It also ignores TypeScript minors and majors. Thebackstageandminor-and-patchgroups are kept, and GitHub Actions updates are now grouped.Risks
Verification
These all pass locally:
yarn install --immutable,yarn tsc,yarn lint(52 existing warnings about React default imports, no errors),yarn test,yarn buildandnpm pack --dry-run.One test in
RootlyOverviewResourceCards.test.tsxcan time out when Jest runs suites in parallel on a loaded machine. It fails the same way onmasterand passes with--runInBand.