Uh oh!
There was an error while loading. Please reload this page.
chore(deps): update backstage monorepo - #2
Merged
Conversation
renovateBotforce-pushed
the
renovate/backstage-monorepo
branch
from
March 1, 2026 17:17
62665e3 to
0edc66cComparerenovateBotforce-pushed
the
renovate/backstage-monorepo
branch
from
March 1, 2026 17:29
0edc66c to
660c78eCompareThe @backstage/cli base tsconfig requires jest types but the newer CLI version no longer provides @types/jest as a transitive dependency. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ContributorAuthor
Edited/Blocked NotificationRenovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR. You can manually request rebase by checking the rebase/retry box above. |
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 freeto 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.
This PR contains the following updates:
^0.29.0→^0.35.0^0.16.0→^0.18.0Release Notes
backstage/backstage (@backstage/cli)
v0.35.4Compare Source
Patch Changes
cfd8103: Updated catalog provider module template to use stable catalog extension points from@backstage/plugin-catalog-nodeinstead of alpha exports.20131c5: Added support for CSS exports in package builds. When a package declares a CSS file in itsexportsfield (e.g.,"./styles.css": "./src/styles.css"), the CLI will automatically bundle it duringbackstage-cli package build, resolving any@importstatements. The export path is rewritten fromsrc/todist/at publish time.Fixed
backstage-cli repo fixto not addtypesVersionsentries for non-script exports like CSS files.7455dae: Use node prefix on native imports6ce4a13: Removed/alphafromscaffolderActionsExtensionPointimportfdbd404: Removed theEXPERIMENTAL_MODULE_FEDERATIONenvironment variable flag, making module federation host support always available duringpackage start. The host shared dependencies are now managed through@backstage/module-federation-commonand injected as a versioned runtime script at build time.fdbd404: Updated@module-federation/enhanced,@module-federation/runtime, and@module-federation/sdkdependencies from^0.9.0to^0.21.6.4fc7bf0: Bump to tar v75e3ef57: Added support for the newpeerModulesmetadata field inpackage.json. This field allows plugin packages to declare modules that should be installed alongside them for cross-plugin integrations. The field is validated bybackstage-cli repo fix --publish.122d39c: Completely removed support for the deprecatedapp.experimental.packagesconfiguration. Replace existing usage directly withapp.packages.73351c2: Updated dependencywebpackto~5.104.0.69d880e: Bump to latest zod to ensure it has the latest featuresUpdated dependencies
v0.35.3Compare Source
Patch Changes
cfd8103: Updated catalog provider module template to use stable catalog extension points from@backstage/plugin-catalog-nodeinstead of alpha exports.7455dae: Use node prefix on native imports4fc7bf0: Bump to tar v7122d39c: Completely removed support for the deprecatedapp.experimental.packagesconfiguration. Replace existing usage directly withapp.packages.69d880e: Bump to latest zod to ensure it has the latest featuresv0.35.2Compare Source
Patch Changes
320c6a9: Bump@swc/coreto supportES2023andES2024c0d7bf6: Added--includeand--formatoptions tobackstage-cli infocommand for including additional packages via glob patterns and outputting as JSON or Text.f6a5d2f: Fixed CSS module class name collisions when running multiple versions of packages simultaneously by using content-based hashing for class name generation.140cbc2: Added@backstage/backend-test-utilsto backend package templates.4eeba9e: Upgradezod-validation-errorto version 49ee5996: Bump minimum required@swc/coreto avoid transpilation bugv0.35.1Compare Source
Hey, I just made a Pull Request!
I created a module for Rails and one action to use
rails newin the scaffolderAddesd to the plugin list:

✔️ Checklist
Signed-off-byline in the message. (more info)v0.35.0Compare Source
Minor Changes
f6f22a9: Provide--no-node-snapshotby default when running thepackage startorpackage test. You can disable this behavior by providingNODE_OPTIONS='--node-snapshot'.f8dff94: Switched the default module resolution tobundlerand themodulesetting toES2020.You may need to bump some dependencies as part of this change and fix imports in code. The most common source of this is that type checking will now consider the
exportsfield inpackage.jsonwhen resolving imports. This in turn can break older versions of packages that had incompatibleexportsfields. Generally these issues will have already been fixed in the upstream packages.You might be tempted to use
--skipLibCheckto hide issues due to this change, but it will weaken the type safety of your project. If you run into a large number of issues and want to keep the old behavior, you can reset themoduleResolutionandmodulesettings your owntsconfig.jsonfile tonodeandESNextrespectively. But keep in mind that thenodeoption will be removed in future versions of TypeScript.A future version of Backstage will make these new settings mandatory, as we move to rely on the
exportsfield for type resolution in packages, rather than thetypesVersionsfield.cd0b8a1: BREAKING:jestis now a peer dependency. If you run tests using Backstage CLI, you must add Jest and its environment dependencies asdevDependenciesin your project.You can choose to install either Jest 29 or Jest 30. The built-in Jest version before this change was Jest 29, however, we recommend that you switch to Jest 30. Upgrading will solve the
Could not parse CSS stylesheeterrors, allow you to use MSW v2 in web packages, and ensure that you remain compatible with future versions of the Backstage CLI. Support for Jest 29 is temporary, with the purpose of allowing you to upgrade at your own pace, but it will eventually be removed.jest@^29andjest-environment-jsdom@^29. No migration needed, but you may seeCould not parse CSS stylesheetwarnings/errors when testing components from@backstage/uior other packages using CSS@layerdeclarations.jest@^30,@jest/environment-jsdom-abstract@^30, andjsdom@^27. Fixes the stylesheet parsing warnings/errors, but requires migration steps.See the Jest 30 migration guide for detailed migration instructions.
Patch Changes
de96a60: chore(deps): bumpexpressfrom 4.21.2 to 4.22.0e7db290: Add missing peer/dev dependencies to the frontend plugin template.react-domwas not declared as a peer dependency, causing module resolutionerrors when generating plugins outside a Backstage monorepo. This adds
react-domtopeerDependencies(for consuming apps) anddevDependencies(for local development).
react-router-domis also added topeerDependencies(for consuming apps) anddevDependenciesto support routing during plugin development.
Fixes:
1226647: Updated dependencyesbuildto^0.27.0.f89a074: Updated dependency@pmmmwh/react-refresh-webpack-pluginto^0.6.0.2b81751: Updated dependencywebpackto~5.103.0.fafd9e1: Fixed internal usage ofyargs.c8c2329: Add proxy configuration from env-vars to create-app tasks2bae83a: Switched compilation target to ES2022 in order to match the new set of supported Node.js versions, which are 22 and 24.The TypeScript compilation target has been set to ES2022, because setting it to a higher target will break projects on older TypeScript versions. If you use a newer TypeScript version in your own project, you can bump
compilerOptions.targetto ES2023 or ES2024 in your owntsconfig.jsonfile.7fbac5c: Updated to use new utilities from@backstage/cli-common.2bae83a: Bumped dev dependencies@types/nodeUpdated dependencies
v0.34.5Compare Source
Patch Changes
fc7cbfc: The templates executed with theyarn newcommand now supports templating filenames.da19cb5: Fix inconsistent behavior in thenewcommand for the@internalscope: it now consistently defaults to thebackstage-plugin-infix whether the--scopeoption is not set or it's set tointernal.fc7cbfc: Added a template for theyarn newcommand to create an catalog entity provider. To add this template to an explicit list in the rootpackage.json, use@backstage/cli/templates/catalog-provider-module.b2bef92: Convert all enums to erasable-syntax compliant patterns279279c: Fixes an issue where using thebackstage-cli new --scopecommand with a scope that already includes the@symbol (e.g.,@backstage-community) would result in a double@@​prefix in the generated package name, causing invalidpackage.jsonfiles.05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript'serasableSyntaxOnlysetting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.v0.34.4Compare Source
Patch Changes
f2cf564: Removed the script transform cache from the default Jest configuration. The script cache provided a moderate performance boost, but it is incompatible with Jest 30.33faad2: Allow using custom manifest location in the yarn plugin and version bump.The Backstage yarn plugin and version bump allows two new environment variables to configure custom manifest location:
BACKSTAGE_VERSIONS_BASE_URL: The base URL for fetching the Backstage versionmanifest. Defaults to
https://versions.backstage.io/v1/releases/VERSION/manifest.json.Useful for running the plugin in environment without direct access to the internet,
for example by using a mirror of the versions API or a proxy.
Note that the environment variable is just the host name, and the path is appended by
the plugin. If you are using the yarn plugin, bump version command will also try
to fetch the new version of the yarn plugin from the same base URL (defaults to
https://versions.backstage.io/v1/releases/RELEASE/yarn-plugin)BACKSTAGE_MANIFEST_FILE: Path to a local manifest file. If set, the pluginwill not attempt to fetch the manifest from the network. Useful for running
the plugin in environment without internet access and without mirror of the
versions API.
6ebc1ea: Fixed module federation config by only settingimport: falseon shared libraries for remote.ab96bb7: Added a new--entrypointoption to thepackage startcommand, which allows you to specify a custom entry directory/file for development applications. This is particularly useful when maintaining separate dev apps for different versions of your plugin (e.g., stable and alpha).Example usage:
Consider the following plugin dev folder structure:
yarn package startcommand uses thedev/folder as the entry point and executesdev/index.tsxfile;yarn package start --entrypoint dev/alphawill instead usedev/alpha/as the entry point and executedev/alpha/index.tsfile.024645e: Remove unused @octokit modules from cli packaged14ef24: Added automatic detection and support for the Backstage Yarn plugin when generating new packages withyarn new. When the plugin is installed, new packages will automatically usebackstage:^ranges for@backstage/*dependencies.Updated dependencies
v0.34.3Compare Source
v0.34.2Compare Source
Patch Changes
e6f45dc: Updated the WebPack configuration to usecontenthash. This fixes an issue were builds would sometimes generate output files with the same name but different content across builds, leading to breakages when loading the frontend app.fffd434: Disallow import fallback of critical shared dependencies in module federation.080f252: Fixed thenew-frontend-plugintemplate that was incorrectly passingidinstead ofpluginIdtocreateFrontendPluginand unnecessarily importingReact.e0db9b8: Modify thebackstage.jsonalso for custom patterns if it extends the default pattern.Examples:
@backstage/*(default pattern)@{backstage,backstage-community}/*@{extra1,backstage,extra2}/*275bda8: Fixed an issue that could cause conflicts of detected modules in workspaces with multiple apps.e1adce4: Updated the backend plugin template to use a new pattern for theTodoListServicethat reduces boilerplate.Updated dependencies
v0.34.1Compare Source
Patch Changes
080f252: Fixed thenew-frontend-plugintemplate that was incorrectly passingidinstead ofpluginIdtocreateFrontendPluginand unnecessarily importingReact.275bda8: Fixed an issue that could cause conflicts of detected modules in workspaces with multiple apps.v0.34.0Compare Source
Minor Changes
38b4243: Added plugin and module templates for the new frontend system. These templates are not included by default, but can be included by adding@backstage/cli/templates/new-frontend-pluginand@backstage/cli/templates/new-frontend-plugin-moduleas custom templates.923ceb2: BREAKING: The new app build based on Rspack is now the default, and theEXPERIMENTAL_RSPACKflag has been removed. To revert to the old behavior, set theLEGACY_WEBPACK_BUILDenvironment flag and install the following optional dependencies:{ "dependencies": { "@​module-federation/enhanced": "^0.9.0", "@​pmmmwh/react-refresh-webpack-plugin": "^0.5.7", "esbuild-loader": "^4.0.0", "eslint-webpack-plugin": "^4.2.0", "fork-ts-checker-webpack-plugin": "^9.0.0", "mini-css-extract-plugin": "^2.4.2", "terser-webpack-plugin": "^5.1.3", "webpack": "^5.96.0", "webpack-dev-server": "^5.0.0" } }If you do encounter a blocking issue that forces you to use the old WebPack build, please open an issue explaining the problem. The WebPack build will be removed in a future release.
eda80c7: BREAKING: Removed support for.icon.svgimports, which have been deprecated since the 1.19 release.Patch Changes
2b8082a: Internal refactor of error handling8b1bf6e: Deprecated new frontend system config settingapp.experimental.packagesto justapp.packages. The old config will continue working for the time being, but may be removed in a future release.ead626f: The Node.js transform in@backstage/cli/config/nodeTransformHooks.mjsnow supports the built-in type stripping in Node.js, which is enabled by default from v22.18.0.a6af768: Allow js files to be processed by the nodeTransform loaderv0.33.1Compare Source
Patch Changes
50f0ce6: Fixes a module not found error when runningbackstage-cli info.v0.33.0Compare Source
Minor Changes
eef0e83: Internal update to promote the modular CLI entrypoint to stable.Patch Changes
d07fe35: Added user feedback when opening config docs in browser. The command now clearly indicates what it's doing and provides fallback instructions if the browser fails to open.ce70439: TheBACKSTAGE_CLI_EXPERIMENTAL_BUILD_CACHEflag has been removed. Existing users are encouraged to switch toEXPERIMENTAL_RSPACKinstead.1d8f00b: Switched to using theModuleFederationPluginfrom@module-federation/enhanced/rspackfor Rspack, rather than the built-in one.2b9633f: The experimentalFORCE_REACT_DEVELOPMENTflag has been removed.d8c4a54: Only use the caching Jest module loader for frontend packages in order to avoid breaking real ESM module imports.d6d63c7: Updating the scaffolder action boilerplate to use newzodschemae36e855: Addedbackstage.pluginIdfield inpackage.jsonto all default plugin package templates for thenewcommand.1bab255: Internal refactor to combine alphabuildandstartmodules.713e957: fix: merge eslint reports when using json format8a0164c: Fix an issue where some commands were not usable because of missing dist filesv0.32.1Compare Source
Patch Changes
674def9: fix: enablelazyCompilationandrefreshOptionsfor rspackd649df0: Internal code cleanupc2cae47: Add missing modules to the Backstage CLI alpha entrypoint.3f45861: Add a warning for React 17 deprecation that triggers when frontend packages and plugins start.9aaec54: Internal refactor of opaque type handling.9285385: Addedinfoobject to the context of the alpha CLI.6cc9507: Updated dependency@octokit/requestto^8.0.0.5cd3c54: Updated dependencyreact-refreshto^0.17.0.72d019d: Removed various typos19a4e7c: Internal refactor to move things closer to homev0.32.0Compare Source
Minor Changes
a47fd39: Removes default React imports from template files, aligning with the requirements for the upcoming React 19 migration. Introduces a new ESLint rule to disallowimport React from 'react'andimport * as React from 'react'.https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html
65b584c: Internal update to move thenewandcreate-github-appto their own module.c7254ae: Internal update to move theclean,pre/postpackandfixcommands into their own separate module.Patch Changes
4ea76f7: Bump @module-federation/enhanced ^0.9.0 to fix GHSA-593f-38f6-jp5m87a5cb4: Fixed an issue causing therepo lintcommand to fail when the--max-warningsoption was used.6969f79: Avoid trailing/*when automatically adding imports for package with multiple entry points.98b7131: Update theto doplugin template to stop using the deprecated catalog alpha service reference.If you start seeing the
should create TODO item with catalog informationtest failing, you have two options to fix this:Update the test to mock the legacy alpha catalog service, or migrate the
TODOplugin backend to use the new catalog service reference.We recommend the second option, see this pull request for an example of how to do the migration.
d5c4fed: make certificate strings optional for Dev environmentsd83f3f4: Resolved a problem where thestartcommand did not correctly handle multiple--requireflags, ensuring all specified modules are now properly loaded.d2091c6: Added a newrepo startcommand to replace the existing pattern of usingyarn devscripts. Therepo startcommand runs the app and/or backend package in the repo by default, but will also fall back to running other individual frontend or backend packages or even plugin dev entry points if the can be uniquely selected.The goal of this change is to reduce the number of different necessary scripts and align on
yarn startbeing the only command needed for local development, similar to howrepo testhandles testing in the repo. It also opens up for more powerful options, like the--plugin <pluginId>flag that runs the dev entry point of the selected plugin.The new script is installed as follows, replacing the existing
yarn startscript:{ "scripts": { "start": "backstage-cli repo start" } }In order to help users migrate in existing projects, it is recommended to add the following scripts to the root
package.json:{ "scripts": { "dev": "echo \"Use 'yarn start' instead\"", "start-backend": "echo \"Use 'yarn start backend' instead\"" } }For more information, run
yarn start --helponce the new command is installed.918c883: Included a reference to the JSX transform guide in the warning about using the default React import.Updated dependencies
v0.31.1Compare Source
v0.31.0Compare Source
Minor Changes
5b70679: BREAKING: ESLint warnings no longer trigger system exit codes like errors do.Set the max number of warnings to
-1during linting to enable the gradual adoption of new ESLint rules. To restore the previous behavior, include the--max-warnings 0flag in thebackstage-cli <repo|package> lintcommand.Patch Changes
0586d4c: Internal change to move themigrateandversion:*commands into a new migrate module.e0b226b: build(deps): bumpesbuildfrom 0.24.2 to 0.25.04d45498: Fixed the package prepack command so that it no longer produces unnecessaryindexentries in thetypesVersionsmap, which could cause/indexto be added when automatically adding imports.485b3ba: Internal update to movetestcommands to a separate module.a76c482: Internal change to migratelintto the new module system.8df78bf: Internal update to move build commands to a CLI module.d0fc357: Internal update to moveinfocommands to a separate module.f8bd342: Fix a bug in the translation of the deprecated--scopeoption for thenewcommand that could cause plugins to havebackstage-backstage-pluginin their name.v0.30.0Compare Source
Minor Changes
cb76663: BREAKING: Add support for native ESM in Node.js code. This changes the behavior of dynamic import expressions in Node.js code. Typically this can be fixed by replacingimport(...)withrequire(...), with anas typeof import(...)cast if needed for types. This is because dynamic imports will no longer be transformed torequire(...)calls, but instead be left as-is. This in turn allows you to load ESM modules from CommonJS code usingimport(...).This change adds support for the following in Node.js packages, across type checking, package builds, runtime transforms and Jest tests:
.mjsand.mtsfiles as explicit ESM files, as well as.cjsand.ctsas explicit CommonJS files."type": "module"field inpackage.jsonto indicate that the package is an ESM package.There are a few caveats to be aware of:
--experimental-vm-modulesflag enabled, typically viaNODE_OPTIONS='--experimental-vm-modules'."type": "module"inpackage.jsonis supported, but in tests it will cause all local transitive dependencies to also be treated as ESM, regardless of whether they declare"type": "module"or not..ctsor.cjsextension. This is because the interoperability layer is not fully compatible with the NPM ecosystem, and would break package if it was enabled for.jsfiles.require, or to use the explicit CommonJS extensions as mentioned above. If you do need to dynamically import CommonJS packages, avoid usingdefaultexports, as the shape of them vary across different environments and you would otherwise need to manually unwrap the import based on the shape of the module object.b30e788: Thenewcommand is now powered by a new template system that allows you to define your own templates in a declarative way, as well as import existing templates from external sources. See the CLI templates documentation for more information.The following flags for the
newcommand have been deprecated and will be removed in a future release:--license=<license>: Configure the globallicenseinstead.--no-private: Configure the globalprivateinstead.--baseVersion=<version>: Configure the globalversioninstead.--npmRegistry=<url>: Configure the globalpublishRegistryinstead.--scope=<scope>: Configure the globalnamePrefixand/ornamePluginInfixinstead.As part of this change the template IDs and their options have changed. The following backwards compatibility mappings for the
--selectand--optionflags are enabled when using the default set of templates, but they will also be removed in the future:--select=pluginis mapped to--select=frontend-plugininstead.--option=id=<id>is mapped to--option=pluginId=<id>instead.Patch Changes
f17ef61: Theversions:bumpcommand will now reject*as a pattern.86c72c1: The packing process when runningbuild-workspacewith the--alwaysYarnPackflag now respects theBACKSTAGE_CLI_BUILD_PARALLELenvironment variable, defaulting parallel work limits based on CPU availability.2167afc: Treat static file assets as always being free from side effects in package builds.f54eed0: Fixed an issue where default feature type information wasn't being added to package.json/exports before publishing if exports didn't exist beforehand90a1edf: Add check to make sure that the--linkoption for thestartcommand is a valid workspace.207f88f: Fixed the file path pattern of many static assets output as part of the frontend build process, where there was an extra.before the extension, leading to names likeimage-af7946b..png.9638f6d: Only allow pass through of.mjsin Jest transform if static ESM is supported.9d49e04: Replaced dependencynode-libs-browserwithnode-stdlib-browser2c14147: Corrected path when trying to add dependency to respectivepackage.jsonwhen usingyarn newtemplatesf21b125: Ensure that both global-agent and undici agents are enabled when proxying is enabled.backstage/backstage (@backstage/core-components)
v0.18.7Compare Source
Patch Changes
7455dae: Use node prefix on native importsa7e0d50: Updatedreact-router-dompeer dependency to^6.30.2and explicitly disabled v7 future flags to suppress deprecation warnings.cebfea7: Removed link styles from LinkButton to avoid styling inconsistencies related to import order.69d880e: Bump to latest zod to ensure it has the latest featuresv0.18.6Compare Source
Patch Changes
7455dae: Use node prefix on native importscebfea7: Removed link styles from LinkButton to avoid styling inconsistencies related to import order.69d880e: Bump to latest zod to ensure it has the latest featuresv0.18.5Compare Source
Patch Changes
a723b8a: The MarkdownContent component now handles HTML content the same way as GitHub when rendering GitHub-flavored Markdownc671db9: Fixed bug in Table component where the toolbar layout would break when both a title and filters were present.55a9dc2: Update colour token again in ItemCardHeader to respect theme definition.v0.18.4Compare Source
Patch Changes
9a942a4: Fixed bug in theLogViewercomponent where shift + click always opened a new window instead of just changing the selection.In addition, improved the
LogViewercomponent by a few usability enhancements:207c3c8: long words like urls now breaks to new line on warning panels instead of overflowing the container4c00303: AddtooltipClassesprop toOverflowTooltipcomponent to allow customisation of the tooltip5d52dab: Add i18n support for LogViewer search controlf6b49ce: added support for wrapLongLines option in CodeSnippetUpdated dependencies
v0.18.3Compare Source
Patch Changes
1c7e1ce: - Revertviewboxback to old values.fullScreenprop toEntityCatalogGraphCard96ad674: Line numbers in LogViewer will not be selectable in UI anymoreb2bef92: Convert all enums to erasable-syntax compliant patterns05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript'serasableSyntaxOnlysetting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.v0.18.2Compare Source
Patch Changes
d493126: Swap base token for semantic token in ItemCardHeader to ensure readability in light mode.431130c: AddedrenderEdgeprop to<DependencyGraph />component in@backstage/core-componentsto allow custom rendering of graph edges.6981ae6](https:/Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.