@backstage/cli
Version:
CLI for developing Backstage plugins and apps
1,130 lines (911 loc) • 131 kB
Markdown
# @backstage/cli
## 0.24.0
### Minor Changes
- 8db5c3cd7a: Removed support for the `publishConfig.alphaTypes` and `.betaTypes` fields that were used together with `--experimental-type-build` to generate `/alpha` and `/beta` entry points. Use the `exports` field to achieve this instead.
- 4e36abef14: Remove support for the deprecated `--experimental-type-build` option for `package build`.
### Patch Changes
- 4ba4ac351f: Switch from using deprecated `@esbuild-kit/*` packages to using `tsx`. This also switches to using the new module loader `register` API when available, avoiding the experimental warning when starting backends.
- cd80ebb062: Updated dependency `vite-plugin-node-polyfills` to `^0.16.0`.
- 4aa43f62aa: Updated dependency `cross-fetch` to `^4.0.0`.
- 971dcba764: Updated dependency `@typescript-eslint/eslint-plugin` to `6.10.0`.
- 6bf7561d3c: The experimental package detection will now ignore packages that don't make `package.json` available.
- e14cbf563d: Added `EXPERIMENTAL_VITE` flag for using [vite](https://vitejs.dev) as dev server instead of Webpack
- 7cd34392f5: Ignore `stdin` when spawning backend child process for the `start` command. Fixing an issue where backend startup would hang.
- Updated dependencies
- @backstage/config-loader@1.5.3
- @backstage/cli-node@0.2.0
- @backstage/integration@1.7.2
- @backstage/release-manifests@0.0.11
- @backstage/catalog-model@1.4.3
- @backstage/cli-common@0.1.13
- @backstage/config@1.1.1
- @backstage/errors@1.2.3
- @backstage/eslint-plugin@0.1.3
- @backstage/types@1.1.1
## 0.24.0-next.1
### Patch Changes
- Updated dependencies
- @backstage/integration@1.7.2-next.0
- @backstage/config-loader@1.5.3-next.0
- @backstage/catalog-model@1.4.3
- @backstage/cli-common@0.1.13
- @backstage/cli-node@0.2.0-next.0
- @backstage/config@1.1.1
- @backstage/errors@1.2.3
- @backstage/eslint-plugin@0.1.3
- @backstage/release-manifests@0.0.10
- @backstage/types@1.1.1
## 0.24.0-next.0
### Minor Changes
- 8db5c3cd7a: Removed support for the `publishConfig.alphaTypes` and `.betaTypes` fields that were used together with `--experimental-type-build` to generate `/alpha` and `/beta` entry points. Use the `exports` field to achieve this instead.
- 4e36abef14: Remove support for the deprecated `--experimental-type-build` option for `package build`.
### Patch Changes
- 4ba4ac351f: Switch from using deprecated `@esbuild-kit/*` packages to using `tsx`. This also switches to using the new module loader `register` API when available, avoiding the experimental warning when starting backends.
- 6bf7561d3c: The experimental package detection will now ignore packages that don't make `package.json` available.
- e14cbf563d: Added `EXPERIMENTAL_VITE` flag for using [vite](https://vitejs.dev) as dev server instead of Webpack
- 7cd34392f5: Ignore `stdin` when spawning backend child process for the `start` command. Fixing an issue where backend startup would hang.
- Updated dependencies
- @backstage/config-loader@1.5.2-next.0
- @backstage/cli-node@0.2.0-next.0
- @backstage/integration@1.7.1
- @backstage/catalog-model@1.4.3
- @backstage/cli-common@0.1.13
- @backstage/config@1.1.1
- @backstage/errors@1.2.3
- @backstage/eslint-plugin@0.1.3
- @backstage/release-manifests@0.0.10
- @backstage/types@1.1.1
## 0.23.0
### Minor Changes
- 8defbd5434: Update typescript-eslint to 6.7.x, adding compatibility with TypeScript 5.2.
This includes a major update on typescript-eslint, you can see the details in the [release notes](https://typescript-eslint.io/blog/announcing-typescript-eslint-v6/).
- 7077dbf131: **BREAKING** The new backend start command that used to be enabled by setting `EXPERIMENTAL_BACKEND_START` is now the default. To revert to the old behavior set `LEGACY_BACKEND_START`, which is recommended if you haven't migrated to the new backend system.
This new command is no longer based on Webpack, but instead uses Node.js loaders to transpile on the fly. Rather than hot reloading modules the entire backend is now restarted on change, but the SQLite database state is still maintained across restarts via a parent process.
### Patch Changes
- 9468a67b92: In frontend builds and tests `process.env.HAS_REACT_DOM_CLIENT` will now be defined if `react-dom/client` is present, i.e. if using React 18. This allows for conditional imports of `react-dom/client`.
- 68158034e8: Fix for the new backend `start` command to make it work on Windows.
- 4f16e60e6d: Request slightly smaller pages of data from GitHub
- 21cd3b1b24: Added a template for creating `node-library` packages with `yarn new`.
- d0f26cfa4f: Fixed an issue where the new backend start command would not gracefully shut down the backend process on Windows.
- 1ea20b0be5: Updated dependency `@typescript-eslint/eslint-plugin` to `6.7.5`.
- 2ef6522552: Support for the `.icon.svg` extension has been deprecated and will be removed in the future. The implementation of this extension is too tied to a particular version of MUI and the SVGO, and it makes it harder to evolve the build system. We may introduce the ability to reintroduce this kind of functionality in the future through configuration for use in internal plugins, but for now we're forced to remove it.
To migrate existing code, rename the `.icon.svg` file to `.tsx` and replace the `<svg>` element with `<SvgIcon>` from MUI and add necessary imports. For example:
```tsx
import React from 'react';
import SvgIcon from '@material-ui/core/SvgIcon';
import { IconComponent } from '@backstage/core-plugin-api';
export const CodeSceneIcon = (props: SvgIconProps) => (
<SvgIcon {...props}>
<g>
<path d="..." />
</g>
</SvgIcon>
);
```
- b9ec93430e: The scaffolder-module template now recommends usage of `createMockDirectory` instead of `mock-fs`.
- de42eebaaf: Bumped dev dependencies `@types/node` and `mock-fs`.
- 425203f898: Fixed recursive reloading issues of the backend, caused by unwanted watched files.
- 3ef18f8c06: Explicitly set `exports: 'named'` for CJS builds, ensuring that they have e.g. `exports["default"] = catalogPlugin;`
- 7187f2953e: The experimental package discovery will now always use the package name for include and exclude filtering, rather than the full module id. Entries pointing to a subpath export will now instead have an `export` field specifying the subpath that the import is from.
- Updated dependencies
- @backstage/integration@1.7.1
- @backstage/catalog-model@1.4.3
- @backstage/config-loader@1.5.1
- @backstage/errors@1.2.3
- @backstage/cli-common@0.1.13
- @backstage/cli-node@0.1.5
- @backstage/config@1.1.1
- @backstage/eslint-plugin@0.1.3
- @backstage/release-manifests@0.0.10
- @backstage/types@1.1.1
## 0.23.0-next.2
### Minor Changes
- 8defbd5434: Update typescript-eslint to 6.7.x, adding compatibility with TypeScript 5.2.
This includes a major update on typescript-eslint, you can see the details in the [release notes](https://typescript-eslint.io/blog/announcing-typescript-eslint-v6/).
### Patch Changes
- 2ef6522552: Support for the `.icon.svg` extension has been deprecated and will be removed in the future. The implementation of this extension is too tied to a particular version of MUI and the SVGO, and it makes it harder to evolve the build system. We may introduce the ability to reintroduce this kind of functionality in the future through configuration for use in internal plugins, but for now we're forced to remove it.
To migrate existing code, rename the `.icon.svg` file to `.tsx` and replace the `<svg>` element with `<SvgIcon>` from MUI and add necessary imports. For example:
```tsx
import React from 'react';
import SvgIcon from '@material-ui/core/SvgIcon';
import { IconComponent } from '@backstage/core-plugin-api';
export const CodeSceneIcon = (props: SvgIconProps) => (
<SvgIcon {...props}>
<g>
<path d="..." />
</g>
</SvgIcon>
);
```
- Updated dependencies
- @backstage/catalog-model@1.4.3-next.0
- @backstage/config-loader@1.5.1-next.1
- @backstage/integration@1.7.1-next.1
- @backstage/errors@1.2.3-next.0
- @backstage/cli-common@0.1.13-next.0
- @backstage/cli-node@0.1.5-next.1
- @backstage/config@1.1.1-next.0
- @backstage/eslint-plugin@0.1.3
- @backstage/release-manifests@0.0.10
- @backstage/types@1.1.1
## 0.23.0-next.1
### Patch Changes
- d0f26cfa4f: Fixed an issue where the new backend start command would not gracefully shut down the backend process on Windows.
- Updated dependencies
- @backstage/config@1.1.0
- @backstage/release-manifests@0.0.10
- @backstage/catalog-model@1.4.2
- @backstage/cli-common@0.1.13-next.0
- @backstage/cli-node@0.1.5-next.0
- @backstage/config-loader@1.5.1-next.0
- @backstage/errors@1.2.2
- @backstage/eslint-plugin@0.1.3
- @backstage/integration@1.7.1-next.0
- @backstage/types@1.1.1
## 0.23.0-next.0
### Minor Changes
- 7077dbf131: **BREAKING** The new backend start command that used to be enabled by setting `EXPERIMENTAL_BACKEND_START` is now the default. To revert to the old behavior set `LEGACY_BACKEND_START`, which is recommended if you haven't migrated to the new backend system.
This new command is no longer based on Webpack, but instead uses Node.js loaders to transpile on the fly. Rather than hot reloading modules the entire backend is now restarted on change, but the SQLite database state is still maintained across restarts via a parent process.
### Patch Changes
- 68158034e8: Fix for the new backend `start` command to make it work on Windows.
- 21cd3b1b24: Added a template for creating `node-library` packages with `yarn new`.
- de42eebaaf: Bumped dev dependencies `@types/node` and `mock-fs`.
- 3ef18f8c06: Explicitly set `exports: 'named'` for CJS builds, ensuring that they have e.g. `exports["default"] = catalogPlugin;`
- Updated dependencies
- @backstage/integration@1.7.1-next.0
- @backstage/config-loader@1.5.1-next.0
- @backstage/cli-common@0.1.13-next.0
- @backstage/config@1.1.0
- @backstage/release-manifests@0.0.10
- @backstage/catalog-model@1.4.2
- @backstage/cli-node@0.1.5-next.0
- @backstage/errors@1.2.2
- @backstage/eslint-plugin@0.1.3
- @backstage/types@1.1.1
## 0.22.13
### Patch Changes
- 04eabd21bee4: Added the ability to specify the listen address for the `--inspect` and `--inspect-brk` command. You can now set the `ip` and port of the `inspect` and `inspectBrk` by adding for example `--inspect=0.0.0.0:9229`
- 278d9326eb40: Added the ability to create a plain backend module with the `new` command.
- 4d5eeec52d80: Add ESM loader for the experimental backend start command.
- 3494c502aba7: Added a new `repo fix` command that fixes auto-fixable problems in all packages. Initially the command fixes package export declarations, as well as marks all non-bundled frontend packages as side-effect free. Marking packages as free of side-effects can drastically reduce the Webpack bundle size.
- f36113ca2305: Add experimental support for frontend package discovery.
- a23fce763c6a: Fixed a bug where package exports entry points could not be `.tsx` files.
- 8cec7664e146: Removed `@types/node` dependency
- ea779492ad88: Updated dependency `run-script-webpack-plugin` to `^0.2.0`.
- 4af4defcc114: When running `version:bump` it will now log duplicates instead of throwing an error
- 71d4368ae5cc: Added support for the `dev/index` entry point for backend plugins and modules.
- 956d226eeeee: Add `"sideEffects": false` to `package.json` in frontend package templates. This can be added to existing packages using the new `yarn fix` command.
- cd7331587eb3: Removed the experimental `package fix` command that was used to automatically add dependencies to `package.json`, but has since been replaced by the `no-undeclared-imports` rule from `@backstage/eslint-plugin`.
- 219b46ae1a50: Include default alpha export during package detection
- Updated dependencies
- @backstage/config@1.1.0
- @backstage/catalog-model@1.4.2
- @backstage/errors@1.2.2
- @backstage/integration@1.7.0
- @backstage/release-manifests@0.0.10
- @backstage/types@1.1.1
- @backstage/config-loader@1.5.0
- @backstage/cli-common@0.1.12
- @backstage/cli-node@0.1.4
- @backstage/eslint-plugin@0.1.3
## 0.22.13-next.3
### Patch Changes
- 4d5eeec52d80: Add ESM loader for the experimental backend start command.
- 3494c502aba7: Added a new `repo fix` command that fixes auto-fixable problems in all packages. Initially the command fixes package export declarations, as well as marks all non-bundled frontend packages as side-effect free. Marking packages as free of side-effects can drastically reduce the Webpack bundle size.
- f36113ca2305: Add experimental support for frontend package discovery.
- a23fce763c6a: Fixed a bug where package exports entry points could not be `.tsx` files.
- 4af4defcc114: When running `version:bump` it will now log duplicates instead of throwing an error
- 956d226eeeee: Add `"sideEffects": false` to `package.json` in frontend package templates. This can be added to existing packages using the new `yarn fix` command.
- cd7331587eb3: Removed the experimental `package fix` command that was used to automatically add dependencies to `package.json`, but has since been replaced by the `no-undeclared-imports` rule from `@backstage/eslint-plugin`.
- Updated dependencies
- @backstage/catalog-model@1.4.2-next.2
- @backstage/config@1.1.0-next.2
- @backstage/errors@1.2.2-next.0
- @backstage/integration@1.7.0-next.3
- @backstage/release-manifests@0.0.10-next.1
- @backstage/types@1.1.1-next.0
- @backstage/cli-common@0.1.12
- @backstage/cli-node@0.1.4-next.0
- @backstage/config-loader@1.5.0-next.3
- @backstage/eslint-plugin@0.1.3
## 0.22.13-next.2
### Patch Changes
- 8cec7664e146: Removed `@types/node` dependency
- ea779492ad88: Updated dependency `run-script-webpack-plugin` to `^0.2.0`.
- Updated dependencies
- @backstage/release-manifests@0.0.10-next.0
- @backstage/config-loader@1.5.0-next.2
- @backstage/config@1.1.0-next.1
- @backstage/integration@1.7.0-next.2
- @backstage/catalog-model@1.4.2-next.1
- @backstage/cli-common@0.1.12
- @backstage/cli-node@0.1.3
- @backstage/errors@1.2.1
- @backstage/eslint-plugin@0.1.3
- @backstage/types@1.1.0
## 0.22.13-next.1
### Patch Changes
- Updated dependencies
- @backstage/config@1.1.0-next.0
- @backstage/integration@1.7.0-next.1
- @backstage/catalog-model@1.4.2-next.0
- @backstage/config-loader@1.5.0-next.1
- @backstage/cli-common@0.1.12
- @backstage/cli-node@0.1.3
- @backstage/errors@1.2.1
- @backstage/eslint-plugin@0.1.3
- @backstage/release-manifests@0.0.9
- @backstage/types@1.1.0
## 0.22.12-next.0
### Patch Changes
- 278d9326eb40: Added the ability to create a plain backend module with the `new` command.
- 71d4368ae5cc: Added support for the `dev/index` entry point for backend plugins and modules.
- Updated dependencies
- @backstage/integration@1.7.0-next.0
- @backstage/config-loader@1.5.0-next.0
- @backstage/catalog-model@1.4.1
- @backstage/cli-common@0.1.12
- @backstage/cli-node@0.1.3
- @backstage/config@1.0.8
- @backstage/errors@1.2.1
- @backstage/eslint-plugin@0.1.3
- @backstage/release-manifests@0.0.9
- @backstage/types@1.1.0
## 0.22.10
### Patch Changes
- 3f67cefb4780: Reload the frontend when app config changes
- cebbf8a27f3c: Enable to print the config schema not merged with the `--no-merge` flag
- 5c28ebc79fd6: Updated dependency `esbuild` to `^0.19.0`.
- 971bdd6a4732: Bumped internal `nodemon` dependency.
- Updated dependencies
- @backstage/config-loader@1.4.0
- @backstage/cli-node@0.1.3
- @backstage/integration@1.6.0
- @backstage/catalog-model@1.4.1
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.8
- @backstage/errors@1.2.1
- @backstage/eslint-plugin@0.1.3
- @backstage/release-manifests@0.0.9
- @backstage/types@1.1.0
## 0.22.10-next.1
### Patch Changes
- Updated dependencies
- @backstage/config-loader@1.4.0-next.1
- @backstage/cli-node@0.1.3-next.0
- @backstage/integration@1.5.1
- @backstage/catalog-model@1.4.1
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.8
- @backstage/errors@1.2.1
- @backstage/eslint-plugin@0.1.3
- @backstage/release-manifests@0.0.9
- @backstage/types@1.1.0
## 0.22.10-next.0
### Patch Changes
- 3f67cefb4780: Reload the frontend when app config changes
- cebbf8a27f3c: Enable to print the config schema not merged with the `--no-merge` flag
- Updated dependencies
- @backstage/config-loader@1.4.0-next.0
- @backstage/catalog-model@1.4.1
- @backstage/cli-common@0.1.12
- @backstage/cli-node@0.1.2
- @backstage/config@1.0.8
- @backstage/errors@1.2.1
- @backstage/eslint-plugin@0.1.3
- @backstage/integration@1.5.1
- @backstage/release-manifests@0.0.9
- @backstage/types@1.1.0
## 0.22.9
### Patch Changes
- 6adb6f41711a: Fixed the `--alwaysYarnPack` flag on the`backstage-cli build-workspace` command.
- 4edd1ef71453: semver upgrade to 7.5.3
- ff45cb559e49: Updated dependency `esbuild` to `^0.18.0`.
- 8174cf4c0edf: Fixing MUI / Material UI references
- Updated dependencies
- @backstage/errors@1.2.1
- @backstage/cli-node@0.1.2
- @backstage/catalog-model@1.4.1
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.8
- @backstage/config-loader@1.3.2
- @backstage/eslint-plugin@0.1.3
- @backstage/integration@1.5.1
- @backstage/release-manifests@0.0.9
- @backstage/types@1.1.0
## 0.22.9-next.1
### Patch Changes
- 4edd1ef71453: semver upgrade to 7.5.3
- ff45cb559e49: Updated dependency `esbuild` to `^0.18.0`.
- 8174cf4c0edf: Fixing MUI / Material UI references
- Updated dependencies
- @backstage/cli-node@0.1.2-next.1
- @backstage/catalog-model@1.4.1-next.0
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.8
- @backstage/config-loader@1.3.2-next.0
- @backstage/errors@1.2.1-next.0
- @backstage/eslint-plugin@0.1.3
- @backstage/integration@1.5.1-next.0
- @backstage/release-manifests@0.0.9
- @backstage/types@1.1.0
## 0.22.9-next.0
### Patch Changes
- 6adb6f41711a: Fixed the `--alwaysYarnPack` flag on the`backstage-cli build-workspace` command.
- Updated dependencies
- @backstage/errors@1.2.1-next.0
- @backstage/catalog-model@1.4.1-next.0
- @backstage/cli-common@0.1.12
- @backstage/cli-node@0.1.2-next.0
- @backstage/config@1.0.8
- @backstage/config-loader@1.3.2-next.0
- @backstage/eslint-plugin@0.1.3
- @backstage/integration@1.5.1-next.0
- @backstage/release-manifests@0.0.9
- @backstage/types@1.1.0
## 0.22.8
### Patch Changes
- 314493fa32a0: Introduced the `--alwaysYarnPack` flag on `backstage-cli build-workspace`, which can be passed in cases where accuracy of workspace contents is more important than the
speed with which the workspace is built. Useful in rare situations where `yarn pack` and `npm pack` produce different results.
- 75540599124a: Updated example component for a newly scaffolded app.
- 5d692f72ebfb: Make sure to include a `fetch` environment for `jsdom` in `jest` tests
- 6816352500a7: Add discovery feature to the onboard cli command.
- 20b7da6f1311: Enforcing Material UI v5 specific linting to minimize bundle size.
- Updated dependencies
- @backstage/types@1.1.0
- @backstage/config-loader@1.3.1
- @backstage/integration@1.5.0
- @backstage/catalog-model@1.4.0
- @backstage/errors@1.2.0
- @backstage/cli-common@0.1.12
- @backstage/cli-node@0.1.1
- @backstage/config@1.0.8
- @backstage/eslint-plugin@0.1.3
- @backstage/release-manifests@0.0.9
## 0.22.8-next.2
### Patch Changes
- 75540599124a: Updated example component for a newly scaffolded app.
- Updated dependencies
- @backstage/catalog-model@1.4.0-next.1
- @backstage/cli-common@0.1.12
- @backstage/cli-node@0.1.1-next.0
- @backstage/config@1.0.7
- @backstage/config-loader@1.3.1-next.1
- @backstage/errors@1.2.0-next.0
- @backstage/eslint-plugin@0.1.3
- @backstage/integration@1.5.0-next.0
- @backstage/release-manifests@0.0.9
- @backstage/types@1.0.2
## 0.22.8-next.1
### Patch Changes
- 6816352500a7: Add discovery feature to the onboard cli command.
- Updated dependencies
- @backstage/integration@1.5.0-next.0
- @backstage/errors@1.2.0-next.0
- @backstage/catalog-model@1.4.0-next.0
- @backstage/cli-node@0.1.1-next.0
- @backstage/config-loader@1.3.1-next.1
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.7
- @backstage/eslint-plugin@0.1.3
- @backstage/release-manifests@0.0.9
- @backstage/types@1.0.2
## 0.22.8-next.0
### Patch Changes
- 20b7da6f1311: Enforcing Material UI v5 specific linting to minimize bundle size.
- Updated dependencies
- @backstage/config-loader@1.3.1-next.0
- @backstage/config@1.0.7
- @backstage/release-manifests@0.0.9
- @backstage/cli-common@0.1.12
- @backstage/cli-node@0.1.0
- @backstage/errors@1.1.5
- @backstage/eslint-plugin@0.1.3
- @backstage/types@1.0.2
## 0.22.7
### Patch Changes
- 473db605a4f: Enable strict config checking during `backstage-cli config:check` with the new `--strict` option which will surface schema errors.
- d548886872d: Deprecated the use of React 16
- Updated dependencies
- @backstage/config-loader@1.3.0
- @backstage/cli-common@0.1.12
- @backstage/cli-node@0.1.0
- @backstage/config@1.0.7
- @backstage/errors@1.1.5
- @backstage/eslint-plugin@0.1.3
- @backstage/release-manifests@0.0.9
- @backstage/types@1.0.2
## 0.22.7-next.0
### Patch Changes
- Updated dependencies
- @backstage/config-loader@1.3.0-next.0
- @backstage/cli-common@0.1.12
- @backstage/cli-node@0.1.0
- @backstage/config@1.0.7
- @backstage/errors@1.1.5
- @backstage/eslint-plugin@0.1.3
- @backstage/release-manifests@0.0.9
- @backstage/types@1.0.2
## 0.22.6
### Patch Changes
- 24432ae52fb: Fix the build for packages with multiple entry points to avoid duplicated modules.
- 8075b67e64c: When building a backend package with dependencies any `--config <path>` options will now be forwarded to any dependent app package builds, unless the build script in the app package already contains a `--config` option.
- 79e91d4c30a: Support importing `.md` files in build loader
- 3156b0d85dc: Internal refactor to move many internal utilities to the new `@backstage/cli-node` package.
- b9839d7135c: Fixed backend start command on Windows by removing the use of platform dependent path joins.
- 1e4f5e91b8e: Bump `zod` and `zod-to-json-schema` dependencies.
- 29ba8267d69: Updated dependency `@material-ui/lab` to `4.0.0-alpha.61`.
- 9bbb00d5b49: Updated dependency `@swc/helpers` to `^0.5.0`.
- b588ab73972: Ensure that the `package prepack` command and backend bundling uses posix paths in `package.json` on all OSes.
- c07c3b7364b: Add `onboard` command. While still in development, this command aims to guide users in setting up their Backstage App.
- e0c6e8b9c3c: Update peer dependencies
- Updated dependencies
- @backstage/cli-node@0.1.0
- @backstage/config-loader@1.2.0
- @backstage/eslint-plugin@0.1.3
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.7
- @backstage/errors@1.1.5
- @backstage/release-manifests@0.0.9
- @backstage/types@1.0.2
## 0.22.6-next.3
### Patch Changes
- 3156b0d85dc: Internal refactor to move many internal utilities to the new `@backstage/cli-node` package.
- 9bbb00d5b49: Updated dependency `@swc/helpers` to `^0.5.0`.
- Updated dependencies
- @backstage/cli-node@0.1.0-next.0
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.7
- @backstage/config-loader@1.1.9
- @backstage/errors@1.1.5
- @backstage/eslint-plugin@0.1.3-next.0
- @backstage/release-manifests@0.0.9
- @backstage/types@1.0.2
## 0.22.6-next.2
### Patch Changes
- 8075b67e64c: When building a backend package with dependencies any `--config <path>` options will now be forwarded to any dependent app package builds, unless the build script in the app package already contains a `--config` option.
- Updated dependencies
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.7
- @backstage/config-loader@1.1.9
- @backstage/errors@1.1.5
- @backstage/eslint-plugin@0.1.3-next.0
- @backstage/release-manifests@0.0.9
- @backstage/types@1.0.2
## 0.22.6-next.1
### Patch Changes
- 24432ae52fb: Fix the build for packages with multiple entry points to avoid duplicated modules.
- 79e91d4c30a: Support importing `.md` files in build loader
- 1e4f5e91b8e: Bump `zod` and `zod-to-json-schema` dependencies.
- 29ba8267d69: Updated dependency `@material-ui/lab` to `4.0.0-alpha.61`.
- b588ab73972: Ensure that the `package prepack` command and backend bundling uses posix paths in `package.json` on all OSes.
- e0c6e8b9c3c: Update peer dependencies
- Updated dependencies
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.7
- @backstage/config-loader@1.1.9
- @backstage/errors@1.1.5
- @backstage/eslint-plugin@0.1.3-next.0
- @backstage/release-manifests@0.0.9
- @backstage/types@1.0.2
## 0.22.6-next.0
### Patch Changes
- b9839d7135c: Fixed backend start command on Windows by removing the use of platform dependent path joins.
- c07c3b7364b: Add `onboard` command. While still in development, this command aims to guide users in setting up their Backstage App.
- Updated dependencies
- @backstage/eslint-plugin@0.1.3-next.0
- @backstage/config@1.0.7
- @backstage/release-manifests@0.0.9
- @backstage/cli-common@0.1.12
- @backstage/config-loader@1.1.9
- @backstage/errors@1.1.5
- @backstage/types@1.0.2
## 0.22.4
### Patch Changes
- 1ad8d885d30: Fixed a bug where additional backend package entry points where not properly marked as internal during local development.
- 2011b86052c: Added templates for new plugin Web and Node.js libraries.
- 867f4752ca1: Updated the ESLint plugin configuration that is enabled through `yarn start --check` to only pick up valid source files.
- b4cd145b574: Added a new `migrate package-exports` command that synchronizes package exports fields in all `package.json`s.
- 9bf50a36674: Bumped the `msw` version in templates to 1.0.0
- 8bf24946c66: Adjust express dependencies to be the same as the rest of the project
- 17271841de8: Updated frontend plugin template to use some more recent features
- 4b4998466b4: Updated dependency `del` to `^7.0.0`.
- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
- a11b9a23f5a: Keep custom exports entry points in package.json
- 482dae5de1c: Updated link to docs.
- Updated dependencies
- @backstage/eslint-plugin@0.1.2
- @backstage/errors@1.1.5
- @backstage/config-loader@1.1.9
- @backstage/release-manifests@0.0.9
- @backstage/cli-common@0.1.12
- @backstage/config@1.0.7
- @backstage/types@1.0.2
## 0.22.4-next.1
### Patch Changes
- 1ad8d885d30: Fixed a bug where additional backend package entry points where not properly marked as internal during local development.
- 867f4752ca1: Updated the ESLint plugin configuration that is enabled through `yarn start --check` to only pick up valid source files.
- 9bf50a36674: Bumped the `msw` version in templates to 1.0.0
- 4b4998466b4: Updated dependency `del` to `^7.0.0`.
- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
- a11b9a23f5a: Keep custom exports entry points in package.json
- 482dae5de1c: Updated link to docs.
- Updated dependencies
- @backstage/errors@1.1.5-next.0
- @backstage/config-loader@1.1.9-next.0
- @backstage/release-manifests@0.0.9-next.0
- @backstage/cli-common@0.1.12-next.0
- @backstage/config@1.0.7-next.0
- @backstage/eslint-plugin@0.1.2-next.0
- @backstage/types@1.0.2
## 0.22.4-next.0
### Patch Changes
- b4cd145b57: Added a new `migrate package-exports` command that synchronizes package exports fields in all `package.json`s.
- 8bf24946c6: Adjust express dependencies to be the same as the rest of the project
- 17271841de: Updated frontend plugin template to use some more recent features
- Updated dependencies
- @backstage/eslint-plugin@0.1.2-next.0
- @backstage/cli-common@0.1.11
- @backstage/config@1.0.6
- @backstage/config-loader@1.1.8
- @backstage/errors@1.1.4
- @backstage/release-manifests@0.0.8
- @backstage/types@1.0.2
## 0.22.2
### Patch Changes
- 561df21ea3: The `backstage-cli repo test` command now sets a default Jest `--workerIdleMemoryLimit` of 1GB. If needed to ensure that tests are not run in band, `--maxWorkers=2` is set as well. This is the recommended workaround for dealing with Jest workers leaking memory and eventually hitting the heap limit.
- 2815981057: Show module name causing error during build
- dd8a9afe66: Replaced several monorepo lint rules with new rules from `@backstage/eslint-plugin`. See the [README](https://github.com/import-js/eslint-plugin-import/blob/main/packages/eslint-plugin/README.md) for a full list of rules.
- a9c50af76b: Fixed Webpack loader patterns so that they properly match the file suffix only.
- 66cf22fdc4: Updated dependency `esbuild` to `^0.17.0`.
- 6d3abfded1: Switch to inline source maps for test transpilation, simplifying editor setups.
- 90616df9a8: Added an experimental mode for the `package start` command for backend packages. Enabled by setting `EXPERIMENTAL_BACKEND_START`.
- Updated dependencies
- @backstage/eslint-plugin@0.1.0
- @backstage/cli-common@0.1.11
- @backstage/config@1.0.6
- @backstage/config-loader@1.1.8
- @backstage/errors@1.1.4
- @backstage/release-manifests@0.0.8
- @backstage/types@1.0.2
## 0.22.2-next.1
### Patch Changes
- dd8a9afe66: Replaced several monorepo lint rules with new rules from `@backstage/eslint-plugin`. See the [README](https://github.com/import-js/eslint-plugin-import/blob/main/packages/eslint-plugin/README.md) for a full list of rules.
- 90616df9a8: Added an experimental mode for the `package start` command for backend packages. Enabled by setting `EXPERIMENTAL_BACKEND_START`.
- Updated dependencies
- @backstage/eslint-plugin@0.1.0-next.0
- @backstage/cli-common@0.1.11
- @backstage/config@1.0.6
- @backstage/config-loader@1.1.8
- @backstage/errors@1.1.4
- @backstage/release-manifests@0.0.8
- @backstage/types@1.0.2
## 0.22.2-next.0
### Patch Changes
- 561df21ea3: The `backstage-cli repo test` command now sets a default Jest `--workerIdleMemoryLimit` of 1GB. If needed to ensure that tests are not run in band, `--maxWorkers=2` is set as well. This is the recommended workaround for dealing with Jest workers leaking memory and eventually hitting the heap limit.
- 2815981057: Show module name causing error during build
- 66cf22fdc4: Updated dependency `esbuild` to `^0.17.0`.
- 6d3abfded1: Switch to inline source maps for test transpilation, simplifying editor setups.
- Updated dependencies
- @backstage/cli-common@0.1.11
- @backstage/config@1.0.6
- @backstage/config-loader@1.1.8
- @backstage/errors@1.1.4
- @backstage/release-manifests@0.0.8
- @backstage/types@1.0.2
## 0.22.1
### Patch Changes
- db2e137744: Removed unnecessary usage of `ThemeProvider` from the `ExampleComponent` test in the plugin template.
- 47c10706df: Fixed an issue where the CLI would fail to function when there was a mix of workspace and non-workspace versions of the same package in `yarn.lock` when using Yarn 3.
- 2b435be4cf: Updated backend plugin ID during creation to match user-entered input.
- 4b572126f1: Add experimental environment variable to enable caching for production builds.
- 7b407b303b: Slightly improve readability of "base URL conflict" error handling code
- a62a1f9dca: The frontend serve task now filters out allowed package duplicates during its package check, just like `versions:bump` and `versions:check`.
- d06a7890c6: Removed unused package `type-fest`
- 7c8a974515: The `repo test`, `repo lint`, and `repo build` commands will now analyze `yarn.lock` for dependency changes when searching for changed packages. This allows you to use the `--since <ref>` flag even if you have `yarn.lock` changes.
- e1b71e142e: Workspace ranges are no longer considered invalid by version commands.
- Updated dependencies
- @backstage/config@1.0.6
- @backstage/cli-common@0.1.11
- @backstage/config-loader@1.1.8
- @backstage/errors@1.1.4
- @backstage/release-manifests@0.0.8
- @backstage/types@1.0.2
## 0.22.1-next.2
### Patch Changes
- 7b407b303b: Slightly improve readability of "base URL conflict" error handling code
- d06a7890c6: Removed unused package `type-fest`
- Updated dependencies
- @backstage/cli-common@0.1.11
- @backstage/config@1.0.6-next.0
- @backstage/config-loader@1.1.8-next.0
- @backstage/errors@1.1.4
- @backstage/release-manifests@0.0.8
- @backstage/types@1.0.2
## 0.22.1-next.1
### Patch Changes
- db2e137744: Removed unnecessary usage of `ThemeProvider` from the `ExampleComponent` test in the plugin template.
- 4b572126f1: Add experimental environment variable to enable caching for production builds.
- Updated dependencies
- @backstage/config@1.0.6-next.0
- @backstage/cli-common@0.1.11
- @backstage/config-loader@1.1.8-next.0
- @backstage/errors@1.1.4
- @backstage/release-manifests@0.0.8
- @backstage/types@1.0.2
## 0.22.1-next.0
### Patch Changes
- 47c10706df: Fixed an issue where the CLI would fail to function when there was a mix of workspace and non-workspace versions of the same package in `yarn.lock` when using Yarn 3.
- a62a1f9dca: The frontend serve task now filters out allowed package duplicates during its package check, just like `versions:bump` and `versions:check`.
- 7c8a974515: The `repo test`, `repo lint`, and `repo build` commands will now analyze `yarn.lock` for dependency changes when searching for changed packages. This allows you to use the `--since <ref>` flag even if you have `yarn.lock` changes.
- e1b71e142e: Workspace ranges are no longer considered invalid by version commands.
- Updated dependencies
- @backstage/cli-common@0.1.11
- @backstage/config@1.0.5
- @backstage/config-loader@1.1.7
- @backstage/errors@1.1.4
- @backstage/release-manifests@0.0.8
- @backstage/types@1.0.2
## 0.22.0
### Minor Changes
- 736f893f72: The Jest configuration that was previously enabled with `BACKSTAGE_NEXT_TESTS` is now enabled by default. To revert to the old configuration you can now instead set `BACKSTAGE_OLD_TESTS`.
This new configuration uses the `babel` coverage provider rather than `v8`. It used to be that `v8` worked better when using Sucrase for transpilation, but now that we have switched to SWC, `babel` seems to work better. In addition, the new configuration also enables source maps by default, as they no longer have a negative impact on code coverage accuracy, and it also enables a modified Jest runtime with additional caching of script objects.
### Patch Changes
- 91d050c140: changed tests created by create-plugin to follow eslint-rules best practices particularly testing-library/prefer-screen-queries and testing-library/render-result-naming-convention
- 43b2b9c791: Removed the unused dependency on `@sucrase/jest-plugin`.
- dd721148b5: Updated Jest coverage configuration to only apply either in the root project or package configuration, depending on whether repo or package tests are run.
- 5850ef9b84: Fix webpack dev server issue where it wasn't serving `index.html` from correct endpoint on subsequent requests.
- b05dcd5530: Move the `zod` dependency to a version that does not collide with other libraries
- 459a3457e1: Bump `msw` version in default plugin/app templates
- c27eabef6b: Adds new web-library package option when generating a new plugin
- 8fffe42708: JSX and React Fast Refresh transforms are no longer enabled when bundling backend code.
- 309f2daca4: Updated dependency `esbuild` to `^0.16.0`.
- ee14bab716: Updated dependency `minimatch` to `5.1.1` and switch version range to `^`.
- 3280711113: Updated dependency `msw` to `^0.49.0`.
- ed0cf59c59: Updated dependency `@rollup/plugin-commonjs` to `^23.0.0`.
- 16b7c2fccd: Updated dependency `@rollup/plugin-yaml` to `^4.0.0`.
- 086c0bbb45: Updated dependency `@rollup/plugin-json` to `^5.0.0`.
- 8015ff1258: Tweaked wording to use inclusive terminology
- d9d9a7a134: Removed all copyright notices from package templates.
- 8e0358e18d: Added `--skip-install` parameter to `backstage-cli versions:bump`
- Updated dependencies
- @backstage/errors@1.1.4
- @backstage/config-loader@1.1.7
- @backstage/release-manifests@0.0.8
- @backstage/types@1.0.2
- @backstage/cli-common@0.1.11
- @backstage/config@1.0.5
## 0.22.0-next.4
### Minor Changes
- 736f893f72: The Jest configuration that was previously enabled with `BACKSTAGE_NEXT_TESTS` is now enabled by default. To revert to the old configuration you can now instead set `BACKSTAGE_OLD_TESTS`.
This new configuration uses the `babel` coverage provider rather than `v8`. It used to be that `v8` worked better when using Sucrase for transpilation, but now that we have switched to SWC, `babel` seems to work better. In addition, the new configuration also enables source maps by default, as they no longer have a negative impact on code coverage accuracy, and it also enables a modified Jest runtime with additional caching of script objects.
### Patch Changes
- dd721148b5: Updated Jest coverage configuration to only apply either in the root project or package configuration, depending on whether repo or package tests are run.
- b05dcd5530: Move the `zod` dependency to a version that does not collide with other libraries
- c27eabef6b: Adds new web-library package option when generating a new plugin
- 309f2daca4: Updated dependency `esbuild` to `^0.16.0`.
- d9d9a7a134: Removed all copyright notices from package templates.
- Updated dependencies
- @backstage/cli-common@0.1.11-next.0
- @backstage/config@1.0.5-next.1
- @backstage/config-loader@1.1.7-next.2
- @backstage/errors@1.1.4-next.1
- @backstage/release-manifests@0.0.8-next.0
- @backstage/types@1.0.2-next.1
## 0.21.2-next.3
### Patch Changes
- 43b2b9c791: Removed the unused dependency on `@sucrase/jest-plugin`.
- Updated dependencies
- @backstage/cli-common@0.1.11-next.0
- @backstage/config@1.0.5-next.1
- @backstage/config-loader@1.1.7-next.2
- @backstage/errors@1.1.4-next.1
- @backstage/release-manifests@0.0.8-next.0
- @backstage/types@1.0.2-next.1
## 0.21.2-next.2
### Patch Changes
- 5850ef9b84: Fix webpack dev server issue where it wasn't serving `index.html` from correct endpoint on subsequent requests.
- ee14bab716: Updated dependency `minimatch` to `5.1.1` and switch version range to `^`.
- ed0cf59c59: Updated dependency `@rollup/plugin-commonjs` to `^23.0.0`.
- 16b7c2fccd: Updated dependency `@rollup/plugin-yaml` to `^4.0.0`.
- 086c0bbb45: Updated dependency `@rollup/plugin-json` to `^5.0.0`.
- 8015ff1258: Tweaked wording to use inclusive terminology
- Updated dependencies
- @backstage/cli-common@0.1.11-next.0
- @backstage/config@1.0.5-next.1
- @backstage/config-loader@1.1.7-next.2
- @backstage/errors@1.1.4-next.1
- @backstage/release-manifests@0.0.8-next.0
- @backstage/types@1.0.2-next.1
## 0.21.2-next.1
### Patch Changes
- 8fffe42708: JSX and React Fast Refresh transforms are no longer enabled when bundling backend code.
- Updated dependencies
- @backstage/types@1.0.2-next.1
- @backstage/config-loader@1.1.7-next.1
- @backstage/config@1.0.5-next.1
- @backstage/release-manifests@0.0.8-next.0
- @backstage/cli-common@0.1.10
- @backstage/errors@1.1.4-next.1
## 0.21.2-next.0
### Patch Changes
- 91d050c140: changed tests created by create-plugin to follow eslint-rules best practices particularly testing-library/prefer-screen-queries and testing-library/render-result-naming-convention
- 459a3457e1: Bump `msw` version in default plugin/app templates
- 3280711113: Updated dependency `msw` to `^0.49.0`.
- Updated dependencies
- @backstage/config-loader@1.1.7-next.0
- @backstage/release-manifests@0.0.8-next.0
- @backstage/types@1.0.2-next.0
- @backstage/cli-common@0.1.10
- @backstage/config@1.0.5-next.0
- @backstage/errors@1.1.4-next.0
## 0.21.0
### Minor Changes
- 7539b36748: Added a new ESLint rule that restricts imports of Link from @material-ui
The rule can be can be overridden in the following way:
```diff
module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
+ restrictedImports: [
+ { name: '@material-ui/core', importNames: [] },
+ { name: '@material-ui/core/Link', importNames: [] },
+ ],
});
```
- 384eaa2307: Switched `tsconfig.json` to target and support `ES2021`, in line with the bump to Node.js 16 & 18.
### Patch Changes
- e52d6ad861: Updated the `backstage-cli` so that the `list-deprecations` command is visible and also removed the "[EXPERIMENTAL]" tag.
- 88f99b8b13: Bumped `tar` dependency to `^6.1.12` in order to ensure Node.js v18 compatibility.
- df21bbd4ad: Removed googleAnalyticsTrackingId configSchema.
- 286d474675: Minor update to the `index.html` template that updates the comment at the end to be more accurate.
- 4c16213e7d: The built-in Jest configuration now always uses the Jest environments that are bundled with the CLI by default. This avoids a situation where Jest potentially picks up an incompatible version of the environment package from a different dependency in the project.
- 4091c73e68: Updated `@swc/core` to version 1.3.9 which fixes a `.tsx` parser bug
- 969a8444ea: Updated dependency `esbuild` to `^0.15.0`.
- 9c767e8f45: Updated dependency `@svgr/plugin-jsx` to `6.5.x`.
Updated dependency `@svgr/plugin-svgo` to `6.5.x`.
Updated dependency `@svgr/rollup` to `6.5.x`.
Updated dependency `@svgr/webpack` to `6.5.x`.
- Updated dependencies
- @backstage/release-manifests@0.0.7
- @backstage/types@1.0.1
- @backstage/cli-common@0.1.10
- @backstage/config@1.0.4
- @backstage/config-loader@1.1.6
- @backstage/errors@1.1.3
## 0.21.0-next.1
### Minor Changes
- 384eaa2307: Switched `tsconfig.json` to target and support `ES2021`, in line with the bump to Node.js 16 & 18.
### Patch Changes
- 88f99b8b13: Bumped `tar` dependency to `^6.1.12` in order to ensure Node.js v18 compatibility.
- 969a8444ea: Updated dependency `esbuild` to `^0.15.0`.
- Updated dependencies
- @backstage/release-manifests@0.0.7-next.0
- @backstage/cli-common@0.1.10
- @backstage/config@1.0.4-next.0
- @backstage/config-loader@1.1.6-next.0
- @backstage/errors@1.1.3-next.0
- @backstage/types@1.0.1-next.0
## 0.21.0-next.0
### Minor Changes
- 7539b36748: Added a new ESLint rule that restricts imports of Link from @material-ui
The rule can be can be overridden in the following way:
```diff
module.exports = require('@backstage/cli/config/eslint-factory')(__dirname, {
+ restrictedImports: [
+ { name: '@material-ui/core', importNames: [] },
+ { name: '@material-ui/core/Link', importNames: [] },
+ ],
});
```
### Patch Changes
- 4091c73e68: Updated `@swc/core` to version 1.3.9 which fixes a `.tsx` parser bug
- 9c767e8f45: Updated dependency `@svgr/plugin-jsx` to `6.5.x`.
Updated dependency `@svgr/plugin-svgo` to `6.5.x`.
Updated dependency `@svgr/rollup` to `6.5.x`.
Updated dependency `@svgr/webpack` to `6.5.x`.
- Updated dependencies
- @backstage/types@1.0.1-next.0
- @backstage/cli-common@0.1.10
- @backstage/config@1.0.4-next.0
- @backstage/config-loader@1.1.6-next.0
- @backstage/errors@1.1.3-next.0
- @backstage/release-manifests@0.0.6
## 0.20.0
### Minor Changes
- f368ad7279: **BREAKING**: Bumped `jest`, `jest-runtime`, and `jest-environment-jsdom` to v29. This is up from v27, so check out both the [v28](https://jestjs.io/docs/28.x/upgrading-to-jest28) and [v29](https://jestjs.io/docs/upgrading-to-jest29) (later [here](https://jestjs.io/docs/29.x/upgrading-to-jest29)) migration guides.
Particular changes that where encountered in the main Backstage repo are:
- The updated snapshot format.
- `jest.useFakeTimers('legacy')` is now `jest.useFakeTimers({ legacyFakeTimers: true })`.
- Error objects collected by `withLogCollector` from `@backstage/test-utils` are now objects with a `detail` property rather than a string.
### Patch Changes
- 78d5eb299e: Tweak the Jest Caching loader to only operate when in `watch` mode
- 9c595302cb: Normalize on winston version ^3.2.1
- 24b40140c4: Treat files in `__testUtils__` and `__mocks__` directories as test files for linting
purposes.
Updates the parts of the eslint configuration generator that specify which files
should be treated as test code to include any files under two additional
directories:
- `__mocks__`: this is the directory used by Jest[0] for mock code.
- `__testUtils__`: a suggested location for utility code executed only when
running tests.
[0]: https://jestjs.io/docs/manual-mocks#mocking-user-modules
- 3e309107ca: Updated fallback versions of dependencies in all templates.
- 292a088807: Added a new `repo test` command.
- ba63cae41c: Updated lockfile parsing to have better support for Yarn 3.
- 2d3a5f09ab: Use `response.json` rather than `response.send` where appropriate, as outlined in `SECURITY.md`
- 2dddb32fea: Switched the Jest transform for YAML files to use a custom one available at `@backstage/cli/config/jestYamlTransform.js`.
- a541a3a78a: Switch to upfront resolution of `swc-loader` in Webpack config.
- cfb3598410: Removed `tsx` and `jsx` as supported extensions in backend packages. For most
repos, this will not have any effect. But if you inadvertently had added some
`tsx`/`jsx` files to your backend package, you may now start to see `code: 'MODULE_NOT_FOUND'` errors when launching the backend locally. The reason for
this is that the offending files get ignored during transpilation. Hence, the
importing file can no longer find anything to import.
The fix is to rename any `.tsx` files in your backend packages to `.ts` instead,
or `.jsx` to `.js`.
- Updated dependencies
- @backstage/cli-common@0.1.10
- @backstage/config@1.0.3
- @backstage/config-loader@1.1.5
- @backstage/errors@1.1.2
- @backstage/release-manifests@0.0.6
- @backstage/types@1.0.0
## 0.20.0-next.2
### Patch Changes
- 2d3a5f09ab: Use `response.json` rather than `response.send` where appropriate, as outlined in `SECURITY.md`
- Updated dependencies
- @backstage/cli-common@0.1.10
- @backstage/config@1.0.3-next.2
- @backstage/config-loader@1.1.5-next.2
- @backstage/errors@1.1.2-next.2
- @backstage/release-manifests@0.0.6
- @backstage/types@1.0.0
## 0.20.0-next.1
### Patch Changes
- 78d5eb299e: Tweak the Jest Caching loader to only operate when in `watch` mode
- Updated dependencies
- @backstage/cli-common@0.1.10
- @backstage/config@1.0.3-next.1
- @backstage/config-loader@1.1.5-next.1
- @backstage/errors@1.1.2-next.1
- @backstage/release-manifests@0.0.6
- @backstage/types@1.0.0
## 0.20.0-next.0
### Minor Changes
- f368ad7279: **BREAKING**: Bumped `jest`, `jest-runtime`, and `jest-environment-jsdom` to v29. This is up from v27, so check out both the [v28](https://jestjs.io/docs/28.x/upgrading-to-jest28) and [v29](https://jestjs.io/docs/upgrading-to-jest29) (later [here](https://jestjs.io/docs/29.x/upgrading-to-jest29)) migration guides.
Particular changes that where encountered in the main Backstage repo are:
- The updated snapshot format.
- `jest.useFakeTimers('legacy')` is now `jest.useFakeTimers({ legacyFakeTimers: true })`.
- Error objects collected by `withLogCollector` from `@backstage/test-utils` are now objects with a `detail` property rather than a string.
### Patch Changes
- 3e309107ca: Updated fallback versions of dependencies in all templates.
- 292a088807: Added a new `repo test` command.
- ba63cae41c: Updated lockfile parsing to have better support for Yarn 3.
- 2dddb32fea: Switched the Jest transform for YAML files to use a custom one available at `@backstage/cli/config/jestYamlTransform.js`.
- a541a3a78a: Switch to upfront resolution of `swc-loader` in Webpack config.
- cfb3598410: Removed `tsx` and `jsx` as supported extensions in backend packages. For most
repos, this will not have any effect. But if you inadvertently had added some
`tsx`/`jsx` files to your backend package, you may now start to see `code: 'MODULE_NOT_FOUND'` errors when launching the backend locally. The reason for
this is that the offending files get ignored during transpilation. Hence, the
importing file can no longer find anything to import.
The fix is to rename any `.tsx` files in your backend packages to `.ts` instead,
or `.jsx` to `.js`.
- Updated dependencies
- @backstage/cli-common@0.1.10
- @backstage/config@1.0.3-next.0
- @backstage/config-loader@1.1.5-next.0
- @backstage/errors@1.1.2-next.0
- @backstage/release-manifests@0.0.6
- @backstage/types@1.0.0
## 0.19.0
### Minor Changes
- 1fe6823bb5: Updated dependency `eslint-plugin-jest` to `^27.0.0`.
Note that this major update to the Jest plugin contains some breaking changes.
This means that some of your tests may start seeing some new lint errors. [Read
about them
here](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md#2700-2022-08-28).
These are mostly possible to fix automatically. You can try to run `yarn backstage-cli repo lint --fix` in your repo root to have most or all of them
corrected.
### Patch Changes
- 8d886dd33e: The `create-plugin` and `create` commands have both been deprecated in favor of a new `new` command. The `new` command is functionally identical to `create`, but the new naming makes it possible to use as yarn script, since `yarn create` is reserved.
- cc63eb8611: Sort entries in skeleton.tar.gz for better docker layer caching
- 548053614a: Deprecated the `plugin:diff` command. If you wish to keep running similar checks in your project we recommend using bespoke scripts. A useful utility for such scripts is `@manypkg/get-packages`, which helps you enumerate all packages in a monorepo.
- 513b4dd4ef: The `v