Skip to content

chore(deps): update backstage monorepo - #2

Merged
yumike merged 2 commits into
mainfrom
renovate/backstage-monorepo
Mar 1, 2026
Merged

chore(deps): update backstage monorepo#2
yumike merged 2 commits into
mainfrom
renovate/backstage-monorepo

Conversation

@renovate

@renovaterenovateBot commented Mar 1, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

PackageChangeAgeConfidence
@backstage/cli (source)^0.29.0^0.35.0ageconfidence
@backstage/core-components (source)^0.16.0^0.18.0ageconfidence

Release Notes

backstage/backstage (@​backstage/cli)

v0.35.4

Compare Source

Patch Changes
  • cfd8103: Updated catalog provider module template to use stable catalog extension points from @backstage/plugin-catalog-node instead of alpha exports.

  • 20131c5: Added support for CSS exports in package builds. When a package declares a CSS file in its exports field (e.g., "./styles.css": "./src/styles.css"), the CLI will automatically bundle it during backstage-cli package build, resolving any @import statements. The export path is rewritten from src/ to dist/ at publish time.

    Fixed backstage-cli repo fix to not add typesVersions entries for non-script exports like CSS files.

  • 7455dae: Use node prefix on native imports

  • 6ce4a13: Removed /alpha from scaffolderActionsExtensionPoint import

  • fdbd404: Removed the EXPERIMENTAL_MODULE_FEDERATION environment variable flag, making module federation host support always available during package start. The host shared dependencies are now managed through @backstage/module-federation-common and injected as a versioned runtime script at build time.

  • fdbd404: Updated @module-federation/enhanced, @module-federation/runtime, and @module-federation/sdk dependencies from ^0.9.0 to ^0.21.6.

  • 4fc7bf0: Bump to tar v7

  • 5e3ef57: Added support for the new peerModules metadata field in package.json. This field allows plugin packages to declare modules that should be installed alongside them for cross-plugin integrations. The field is validated by backstage-cli repo fix --publish.

  • 122d39c: Completely removed support for the deprecated app.experimental.packages configuration. Replace existing usage directly with app.packages.

  • 73351c2: Updated dependency webpack to ~5.104.0.

  • 69d880e: Bump to latest zod to ensure it has the latest features

  • Updated dependencies

v0.35.3

Compare Source

Patch Changes

v0.35.2

Compare Source

Patch Changes
  • 320c6a9: Bump @swc/core to support ES2023 and ES2024
  • c0d7bf6: Added --include and --format options to backstage-cli info command 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-utils to backend package templates.
  • 4eeba9e: Upgrade zod-validation-error to version 4
  • 9ee5996: Bump minimum required @swc/core to avoid transpilation bug
  • Updated dependencies

v0.35.1

Compare Source

Hey, I just made a Pull Request!

I created a module for Rails and one action to use rails new in the scaffolder

Addesd to the plugin list:
image

✔️ Checklist
  • A changeset describing the change and affected packages. (more info)
  • Added or updated documentation
  • Tests for new functionality and regression tests for bug fixes
  • Screenshots attached (for UI changes)
  • All your commits have a Signed-off-by line in the message. (more info)

v0.35.0

Compare Source

Minor Changes
  • f6f22a9: Provide --no-node-snapshot by default when running the package start or package test. You can disable this behavior by providing NODE_OPTIONS='--node-snapshot'.

  • f8dff94: Switched the default module resolution to bundler and the module setting to ES2020.

    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 exports field in package.json when resolving imports. This in turn can break older versions of packages that had incompatible exports fields. Generally these issues will have already been fixed in the upstream packages.

    You might be tempted to use --skipLibCheck to 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 the moduleResolution and module settings your own tsconfig.json file to node and ESNext respectively. But keep in mind that the node option 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 exports field for type resolution in packages, rather than the typesVersions field.

  • cd0b8a1: BREAKING: jest is now a peer dependency. If you run tests using Backstage CLI, you must add Jest and its environment dependencies as devDependencies in 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 stylesheet errors, 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 29: Install jest@^29 and jest-environment-jsdom@^29. No migration needed, but you may see Could not parse CSS stylesheet warnings/errors when testing components from @backstage/ui or other packages using CSS @layer declarations.
    • Jest 30: Install jest@^30, @jest/environment-jsdom-abstract@^30, and jsdom@^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): bump express from 4.21.2 to 4.22.0

  • e7db290: Add missing peer/dev dependencies to the frontend plugin template.

    react-dom was not declared as a peer dependency, causing module resolution
    errors when generating plugins outside a Backstage monorepo. This adds
    react-dom to peerDependencies (for consuming apps) and devDependencies
    (for local development). react-router-dom is also added to peerDependencies (for consuming apps) and devDependencies
    to support routing during plugin development.

    Fixes:

    • Module not found: Can't resolve 'react-dom'
    • Module not found: Can't resolve 'react-router-dom'
  • 1226647: Updated dependency esbuild to ^0.27.0.

  • f89a074: Updated dependency @pmmmwh/react-refresh-webpack-plugin to ^0.6.0.

  • 2b81751: Updated dependency webpack to ~5.103.0.

  • fafd9e1: Fixed internal usage of yargs.

  • c8c2329: Add proxy configuration from env-vars to create-app tasks

  • 2bae83a: 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.target to ES2023 or ES2024 in your own tsconfig.json file.

  • 7fbac5c: Updated to use new utilities from @backstage/cli-common.

  • 2bae83a: Bumped dev dependencies @types/node

  • Updated dependencies

v0.34.5

Compare Source

Patch Changes
  • fc7cbfc: The templates executed with the yarn new command now supports templating filenames.
  • da19cb5: Fix inconsistent behavior in the new command for the @internal scope: it now consistently defaults to the backstage-plugin- infix whether the --scope option is not set or it's set to internal.
  • fc7cbfc: Added a template for the yarn new command to create an catalog entity provider. To add this template to an explicit list in the root package.json, use @backstage/cli/templates/catalog-provider-module.
  • b2bef92: Convert all enums to erasable-syntax compliant patterns
  • 279279c: Fixes an issue where using the backstage-cli new --scope command with a scope that already includes the @ symbol (e.g., @backstage-community) would result in a double @@​ prefix in the generated package name, causing invalid package.json files.
  • 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's erasableSyntaxOnly setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
  • Updated dependencies

v0.34.4

Compare 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 version
      manifest. 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 plugin
      will 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 setting import: false on shared libraries for remote.

  • ab96bb7: Added a new --entrypoint option to the package start command, 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:

    dev/
    index.tsx
    alpha/
    index.ts
    
    • The default yarn package start command uses the dev/ folder as the entry point and executes dev/index.tsx file;
    • Running yarn package start --entrypoint dev/alpha will instead use dev/alpha/ as the entry point and execute dev/alpha/index.ts file.
  • 024645e: Remove unused @​octokit modules from cli package

  • d14ef24: Added automatic detection and support for the Backstage Yarn plugin when generating new packages with yarn new. When the plugin is installed, new packages will automatically use backstage:^ ranges for @backstage/* dependencies.

  • Updated dependencies

v0.34.3

Compare Source

v0.34.2

Compare Source

Patch Changes
  • e6f45dc: Updated the WebPack configuration to use contenthash. 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 the new-frontend-plugin template that was incorrectly passing id instead of pluginId to createFrontendPlugin and unnecessarily importing React.

  • e0db9b8: Modify the backstage.json also 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 the TodoListService that reduces boilerplate.

  • Updated dependencies

v0.34.1

Compare Source

Patch Changes

v0.34.0

Compare 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-plugin and @backstage/cli/templates/new-frontend-plugin-module as custom templates.

  • 923ceb2: BREAKING: The new app build based on Rspack is now the default, and the EXPERIMENTAL_RSPACK flag has been removed. To revert to the old behavior, set the LEGACY_WEBPACK_BUILD environment 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.svg imports, which have been deprecated since the 1.19 release.

Patch Changes
  • 2b8082a: Internal refactor of error handling
  • 8b1bf6e: Deprecated new frontend system config setting app.experimental.packages to just app.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.mjs now 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 loader
  • Updated dependencies

v0.33.1

Compare Source

Patch Changes

v0.33.0

Compare Source

Minor Changes
  • eef0e83: Internal update to promote the modular CLI entrypoint to stable.
Patch Changes

v0.32.1

Compare Source

Patch Changes

v0.32.0

Compare Source

Minor Changes
Patch Changes
  • 4ea76f7: Bump @​module-federation/enhanced ^0.9.0 to fix GHSA-593f-38f6-jp5m

  • 87a5cb4: Fixed an issue causing the repo lint command to fail when the --max-warnings option was used.

  • 6969f79: Avoid trailing /* when automatically adding imports for package with multiple entry points.

  • 98b7131: Update the to do plugin template to stop using the deprecated catalog alpha service reference.
    If you start seeing the should create TODO item with catalog information test failing, you have two options to fix this:
    Update the test to mock the legacy alpha catalog service, or migrate the TODO plugin 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 environments

  • d83f3f4: Resolved a problem where the start command did not correctly handle multiple --require flags, ensuring all specified modules are now properly loaded.

  • d2091c6: Added a new repo start command to replace the existing pattern of using yarn dev scripts. The repo start command 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 start being the only command needed for local development, similar to how repo test handles 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 start script:

    {
    "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 --help once 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.1

Compare Source

v0.31.0

Compare Source

Minor Changes
  • 5b70679: BREAKING: ESLint warnings no longer trigger system exit codes like errors do.

    Set the max number of warnings to -1 during linting to enable the gradual adoption of new ESLint rules. To restore the previous behavior, include the --max-warnings 0 flag in the backstage-cli <repo|package> lint command.

Patch Changes

v0.30.0

Compare 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 replacing import(...) with require(...), with an as typeof import(...) cast if needed for types. This is because dynamic imports will no longer be transformed to require(...) calls, but instead be left as-is. This in turn allows you to load ESM modules from CommonJS code using import(...).

    This change adds support for the following in Node.js packages, across type checking, package builds, runtime transforms and Jest tests:

    • Dynamic imports that load ESM modules from CommonJS code.
    • Both .mjs and .mts files as explicit ESM files, as well as .cjs and .cts as explicit CommonJS files.
    • Support for the "type": "module" field in package.json to indicate that the package is an ESM package.

    There are a few caveats to be aware of:

    • To enable support for native ESM in tests, you need to run the tests with the --experimental-vm-modules flag enabled, typically via NODE_OPTIONS='--experimental-vm-modules'.
    • Declaring a package as "type": "module" in package.json is 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.
    • Node.js has an ESM interoperability layer with CommonJS that allows for imports from ESM to identify named exports in CommonJS packages. This interoperability layer is only enabled when importing packages with a .cts or .cjs extension. This is because the interoperability layer is not fully compatible with the NPM ecosystem, and would break package if it was enabled for .js files.
    • Dynamic imports of CommonJS packages will vary in shape depending on the runtime, i.e. test vs local development, etc. It is therefore recommended to avoid dynamic imports of CommonJS packages and instead use require, or to use the explicit CommonJS extensions as mentioned above. If you do need to dynamically import CommonJS packages, avoid using default exports, 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: The new command 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 new command have been deprecated and will be removed in a future release:

    • --license=<license>: Configure the global license instead.
    • --no-private: Configure the global private instead.
    • --baseVersion=<version>: Configure the global version instead.
    • --npmRegistry=<url>: Configure the global publishRegistry instead.
    • --scope=<scope>: Configure the global namePrefix and/or namePluginInfix instead.

    As part of this change the template IDs and their options have changed. The following backwards compatibility mappings for the --select and --option flags are enabled when using the default set of templates, but they will also be removed in the future:

    • --select=plugin is mapped to --select=frontend-plugin instead.
    • --option=id=<id> is mapped to --option=pluginId=<id> instead.
Patch Changes
backstage/backstage (@​backstage/core-components)

v0.18.7

Compare Source

Patch Changes

v0.18.6

Compare Source

Patch Changes

v0.18.5

Compare Source

Patch Changes
  • a723b8a: The MarkdownContent component now handles HTML content the same way as GitHub when rendering GitHub-flavored Markdown
  • c671db9: 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.4

Compare Source

Patch Changes
  • 9a942a4: Fixed bug in the LogViewer component where shift + click always opened a new window instead of just changing the selection.

    In addition, improved the LogViewer component by a few usability enhancements:

    • Added support for multiple selections using cmd/ctrl + click
    • Improved the generated hash that is added to the URL to also support ranges & multiple selections
    • Added an hover effect & info tooltip to the "Copy to clipboard" button to indicate its functionality
    • Added some color and a separator to the line numbers to improve readability
  • 207c3c8: long words like urls now breaks to new line on warning panels instead of overflowing the container

  • 4c00303: Add tooltipClasses prop to OverflowTooltip component to allow customisation of the tooltip

  • 5d52dab: Add i18n support for LogViewer search control

  • f6b49ce: added support for wrapLongLines option in CodeSnippet

  • Updated dependencies

v0.18.3

Compare Source

Patch Changes
  • 1c7e1ce: - Revert viewbox back to old values.
    • Added fullScreen prop to EntityCatalogGraphCard
  • 96ad674: Line numbers in LogViewer will not be selectable in UI anymore
  • b2bef92: Convert all enums to erasable-syntax compliant patterns
  • 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's erasableSyntaxOnly setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
  • Updated dependencies

v0.18.2

Compare Source

Patch Changes
  • d493126: Swap base token for semantic token in ItemCardHeader to ensure readability in light mode.
  • 431130c: Added renderEdge prop to <DependencyGraph /> component in @backstage/core-components to 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovateBotforce-pushed the renovate/backstage-monorepo branch from 62665e3 to 0edc66cCompareMarch 1, 2026 17:17
@renovate
renovateBotforce-pushed the renovate/backstage-monorepo branch from 0edc66c to 660c78eCompareMarch 1, 2026 17:29
The @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>
@renovate

renovateBot commented Mar 1, 2026

Copy link
Copy Markdown
ContributorAuthor

Edited/Blocked Notification

Renovate 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.

⚠️Warning: custom changes will be lost.

@yumike
yumike merged commit 8ad013c into mainMar 1, 2026
1 check passed
@yumike
yumike deleted the renovate/backstage-monorepo branch March 1, 2026 18:03
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@yumike