17 KiB
@backstage/cli
0.7.2
Patch Changes
953a7e66f: updated plugin template to generate path equals plugin id for the root page04248b8f9: chore: bumpmswdependency increate-plugine3d31b381: Make thecreate-github-appcommand disable webhooks by default.8f100db75: chore: bump@typescript-eslint/eslint-pluginfrom 4.26.0 to 4.27.095e572305: chore: bumpdelfrom 5.1.0 to 6.0.0ece2b5dd1: chore: bump@spotify/eslint-config-typescriptfrom 9.0.0 to 10.0.00ec31e596: chore: bump@rollup/plugin-node-resolvefrom 11.2.1 to 13.0.048c9fcd33: Migrated to use the new@backstage/core-*packages rather than@backstage/core.
0.7.1
Patch Changes
-
3108ff7bf: Makeyarn devin newly created backend plugins respect thePLUGIN_PORTenvironment variable.You can achieve the same in your created backend plugins by making sure to properly call the port and CORS methods on your service builder. Typically in a file named
src/service/standaloneServer.tsinside your backend plugin package, replace the following:const service = createServiceBuilder(module) .enableCors({ origin: 'http://localhost:3000' }) .addRouter('/my-plugin', router);With something like the following:
let service = createServiceBuilder(module) .setPort(options.port) .addRouter('/my-plugin', router); if (options.enableCors) { service = service.enableCors({ origin: 'http://localhost:3000' }); } -
Updated dependencies
- @backstage/config-loader@0.6.4
0.7.0
Minor Changes
-
9cd3c533c: Switch fromts-jestto@sucrase/jest-plugin, improving performance and aligning transpilation with bundling.In order to switch back to
ts-jest, installts-jest@^26.4.3as a dependency in the root of your repo and add the following in the rootpackage.json:"jest": { "globals": { "ts-jest": { "isolatedModules": true } }, "transform": { "\\.esm\\.js$": "@backstage/cli/config/jestEsmTransform.js", "\\.(js|jsx|ts|tsx)$": "ts-jest", "\\.(bmp|gif|jpg|jpeg|png|frag|xml|svg)$": "@backstage/cli/config/jestFileTransform.js", "\\.(yaml)$": "yaml-jest" } }Note that this will override the default jest transforms included with the
@backstage/cli.It is possible that some test code needs a small migration as a result of this change, which stems from a difference in how
sucraseandts-jesttransform module re-exports.Consider the following code:
import * as utils from './utils'; jest.spyOn(utils, 'myUtility').mockReturnValue(3);If the
./utilsimport for example refers to an index file that in turn re-exports from./utils/myUtility, you would have to change the code to the following to work around the fact that the exported object from./utilsends up not having configurable properties, thus breakingjest.spyOn.import * as utils from './utils/myUtility'; jest.spyOn(utils, 'myUtility').mockReturnValue(3);
Patch Changes
-
7f7443308: Updated dependencies -
21e8ebef5: Fix error message formatting in the packaging process.error.errors can be undefined which will lead to a TypeError, swallowing the actual error message in the process.
For instance, if you break your tsconfig.json with invalid syntax, backstage-cli will not be able to build anything and it will be very hard to find out why because the underlying error message is hidden behind a TypeError.
0.6.14
Patch Changes
ee4eb5b40: Adjust the Webpackdevtoolmodule filename template to correctly resolve via the source maps to the source files.84160313e: Mark thecreate-github-appcommand as ready for use and reveal it in the command list.7e7c71417: Exclude core packages from package dependency diff.e7c5e4b30: Update installation instructions in README.2305ab8fc: chore(deps): bump@spotify/eslint-config-reactfrom 9.0.0 to 10.0.0054bcd029: Deprecated thebackend:build-imagecommand, pointing to the newerbackend:bundlecommand.
0.6.13
Patch Changes
1cd0cacd9: Add support for transforming yaml files in jest with 'yaml-jest'7a7da5146: Bumpedeslint-config-prettierto8.x.3a181cff1: Bump webpack-node-externals from2.5.2to3.0.0.- Updated dependencies [
2cf98d279] - Updated dependencies [
438a512eb]- @backstage/config-loader@0.6.3
0.6.12
Patch Changes
2bfec55a6: Updatefork-ts-checker-webpack-plugin- Updated dependencies [
290405276]- @backstage/config-loader@0.6.2
0.6.11
Patch Changes
2cd70e164: Add context for versions:bump on what version it was bumped to. Updated tests for the same.3be844496: chore: bumpts-nodeversions to 9.1.1e3fc89df6: update plugins created to use react-use 17.2.4
0.6.10
Patch Changes
f65adcde7: Fix some transitive dependency warnings in yarnfc79a6dd3: Added lax option to backstage-cli app:build commandd8b81fd28: Bumpjson-schemadependency from0.2.5to0.3.0.- Updated dependencies [
d8b81fd28]- @backstage/config-loader@0.6.1
- @backstage/config@0.1.5
0.6.9
Patch Changes
4e5c94249: Addconfig:docscommand that opens up reference documentation for the local configuration schema in a browser.1373f4f12: No longer add newly created plugins toplugins.tsin the app, as it is no longer needed.479b29124: Added support for Datadog rum events
0.6.8
Patch Changes
60ce64aa2: Disable hot reloading in CI environments.
0.6.7
Patch Changes
- Updated dependencies [
82c66b8cd]- @backstage/config-loader@0.6.0
0.6.6
Patch Changes
598f5bcfb: Lock down the version of webpack-dev-server as it's causing some nasty bugs someplace4d248725e: Make the backend plugin template use the correct latest version ofexpress-promise-router
0.6.5
Patch Changes
84972540b: Lint storybook files, i.e.*.stories.*, as if they were tests.- Updated dependencies [
0434853a5]- @backstage/config@0.1.4
0.6.4
Patch Changes
5ab5864f6: Add support for most TypeScript 4.1 syntax.
0.6.3
Patch Changes
507513fed: Bump@svgr/webpackfrom5.4.xto5.5.x.e37d2de99: Bump@testing-library/reactin the plugin template from^10.4.1to^11.2.5. To apply this to an existing plugin, update the dependency in yourpackage.json.11c6208fe: Fixed an issue where thebackend:devcommand would get stuck executing the backend process multiple times, causing port conflict issues.d4f0a1406: New config command to export the configuration schema. When running backstage-cli with yarn, consider usingyarn --silent backstage-cli config:schemato get a clean output onstdout.b93538acc: Fix for type declaration input being required for build even if types aren't being built.8871e7523: Bumpts-loaderdependency range from^7.0.4to^8.0.17.
0.6.2
Patch Changes
e780e119c: Add missingfile-loaderdependency which could cause issues with loading images and other assets.6266ddd11: Theyarn backstage-cli app:diffhas been broken since a couple of months. The command to perform updatesyarn backstage-cli versions:bumpprints change logs which seems to be a good replacement for this command.- Updated dependencies [
a1f5e6545]- @backstage/config@0.1.3
0.6.1
Patch Changes
257a753ff: Updated transform of.esm.jsfiles to be able to handle dynamic imports.9337f509d: Tweak error message in lockfile parsing to include more information.532bc0ec0: Upgrading to lerna@4.0.0.
0.6.0
Minor Changes
-
19fe61c27: We have updated the defaulteslintrules in the@backstage/clipackage.-'@typescript-eslint/no-shadow': 'off', -'@typescript-eslint/no-redeclare': 'off', +'no-shadow': 'off', +'no-redeclare': 'off', +'@typescript-eslint/no-shadow': 'error', +'@typescript-eslint/no-redeclare': 'error',The rules are documented here and here.
This involved a large number of small changes to the code base. When you compile your own code using the CLI, you may also be affected. We consider these rules important, and the primary recommendation is to try to update your code according to the documentation above. But those that prefer to not enable the rules, or need time to perform the updates, may update their local
.eslintrc.jsfile(s) in the repo root and/or in individual plugins as they see fit:module.exports = { // ... other declarations rules: { '@typescript-eslint/no-shadow': 'off', '@typescript-eslint/no-redeclare': 'off', }, };Because of the nature of this change, we're unable to provide a grace period for the update :(
Patch Changes
398e1f83e: Updatecreate-plugintemplate to use the new composability API, by switching to exporting a single routable extension component.e9aab60c7: Fixed module resolution of external libraries during backend development. Modules used to be resolved relative to the backend entrypoint, but are now resolved relative to each individual module.a08c4b0b0: Add check for outdated/duplicate packages to yarn start- Updated dependencies [
062df71db] - Updated dependencies [
e9aab60c7]- @backstage/config-loader@0.5.1
0.5.0
Minor Changes
-
12a56cdfe: We've bumped the@eslint-typescriptpackages to the latest, which now add some additional rules that might cause lint failures. The main one which could become an issue is the no-use-before-define rule.Every plugin and app has the ability to override these rules if you want to ignore them for now.
You can reset back to the default behaviour by using the following in your own
.eslint.jsrules: { 'no-use-before-define': 'off' }Because of the nature of this change, we're unable to provide a grace period for the update :(
Patch Changes
ef7957be4: Add--laxoption toconfig:printandconfig:check, which causes all environment variables to be assumed to be set.- Updated dependencies [
ef7957be4] - Updated dependencies [
ef7957be4] - Updated dependencies [
ef7957be4]- @backstage/config-loader@0.5.0
0.4.7
Patch Changes
b604a9d41: Append-credentials.yamlto credentials file generated bybackstage-cli create-github-appand display warning about sensitive contents.
0.4.6
Patch Changes
94fdf4955: Get rid of all usages of @octokit/types, and bump the rest of the octokit dependencies to the latest version08e9893d2: Handle no npm info9cf71f8bf: Added experimentalcreate-github-appcommand.
0.4.5
Patch Changes
37a7d26c4: Use consistent file extensions for JS output when building packages.818d45e94: Fix detection of external package child directories0588be01f: Addbackend:bundlecommand for bundling a backend package with dependencies into a deployment archive.b8abdda57: Add color to output fromversions:bumpin order to make it easier to spot changes. Also highlight possible breaking changes and link to changelogs.- Updated dependencies [
ad5c56fd9]- @backstage/config-loader@0.4.1
0.4.4
Patch Changes
d45efbc9b: Fix typo in .app.listen.port config schema
0.4.3
Patch Changes
19554f6d6: Added GitHub Actions for Create React App, and allow better imports of files inside a module when they're exposed usingfilesinpackage.json7d72f9b09: Fix forapp.listen.hostconfiguration not properly overriding listening host.
0.4.2
Patch Changes
c36a01b4c: Re-enable symlink resolution during bundling, and switch to using a resolve plugin for external linked packages.
0.4.1
Patch Changes
06dbe707b: Update experimental backend bundle command to only output archives todist/instead of a full workspace mirror indist-workspace/.011708102: Fixes a big in the bundling logic that causednode_modulesinside local monorepo packages to be transformed.61897fb2c: Fix config schema for.app.listen- Updated dependencies [
e3bd9fc2f] - Updated dependencies [
e3bd9fc2f]- @backstage/config@0.1.2
0.4.0
Minor Changes
00670a96e: sort product panels and navigation menu by greatest cost update tsconfig.json to use ES2020 api
Patch Changes
b4488ddb0: Added a type alias for PositionError = GeolocationPositionError4a655c89d: Bump versions ofesbuildandrollup-plugin-esbuild8a16e8af8: Support.npmrcwhen building with private NPM registries- Updated dependencies [
4e7091759] - Updated dependencies [
b4488ddb0]- @backstage/config-loader@0.4.0
0.3.2
Patch Changes
294295453: Only load config that applies to the target package for frontend build and serve tasks. Also added--package <name>flag to scope the config schema used by theconfig:printandconfig:checkcommands.f538e2c56: Make versions:bump install new versions of dependencies that were within the specified range as well as install new versions of transitive @backstage dependencies.8697dea5b: Bump Rollupb623cc275: Narrow down the version range of rollup-plugin-esbuild to avoid breaking change in newer version
0.3.1
Patch Changes
29a0ccab2: The CLI now detects and transforms linked packages. You can link in external packages by adding them to both thelerna.jsonandpackage.jsonworkspace paths.faf311c26: New lint rule to disallow assertions and promoteasassertions. - @typescript-eslint/consistent-type-assertions31d8b6979: Add experimental backend:bundle command991345969: Add newversions:checkandversions:bumpcommands to simplify version management and avoid conflicts
0.3.0
Minor Changes
-
1722cb53c: Added support for loading and validating configuration schemas, as well as declaring config visibility through schemas.The new
loadConfigSchemafunction exported by@backstage/config-loaderallows for the collection and merging of configuration schemas from all nearby dependencies of the project.A configuration schema is declared using the
https://backstage.io/schema/config-v1JSON Schema meta schema, which is based on draft07. The only difference to the draft07 schema is the customvisibilitykeyword, which is used to indicate whether the given config value should be visible in the frontend or not. The possible values arefrontend,backend, andsecret, wherebackendis the default. A visibility ofsecrethas the same scope at runtime, but it will be treated with more care in certain contexts, and defining bothfrontendandsecretfor the same value in two different schemas will result in an error during schema merging.Packages that wish to contribute configuration schema should declare it in a root
"configSchema"field inpackage.json. The field can either contain an inlined JSON schema, or a relative path to a schema file. Schema files can be in either.jsonor.d.tsformat.TypeScript configuration schema files should export a single
Configtype, for example:export interface Config { app: { /** * Frontend root URL * @visibility frontend */ baseUrl: string; }; }
Patch Changes
1722cb53c: Added configuration schema902340451: Support specifying listen host/port for frontend- Updated dependencies [
1722cb53c]- @backstage/config-loader@0.3.0
0.2.0
Minor Changes
-
28edd7d29: Create backend plugin through CLI -
1d0aec70f: Upgrade dependencyesbuild@0.7.7 -
72f6cda35: Adds a newBACKSTAGE_CLI_BUILD_PARELLELenvironment variable to control parallelism for some build steps.This is useful in CI to help avoid out of memory issues when using
terser. TheBACKSTAGE_CLI_BUILD_PARELLELenvironment variable can be set totrue | false | [integer]to override the default behaviour. See terser-webpack-plugin for more details. -
8c2b76e45: BREAKING CHANGEThe existing loading of additional config files like
app-config.development.yamlusing APP_ENV or NODE_ENV has been removed. Instead, the CLI and backend process now accept one or more--configflags to load config files.Without passing any flags,
app-config.yamland, if it exists,app-config.local.yamlwill be loaded. If passing any--config <path>flags, only those files will be loaded, NOT the defaultapp-config.yamlone.The old behaviour of for example
APP_ENV=developmentcan be replicated using the following flags:--config ../../app-config.yaml --config ../../app-config.development.yaml -
8afce088a: Use APP_ENV before NODE_ENV for determining what config to load
Patch Changes
-
3472c8be7: Add codeowners processor- Include ESNext.Promise in TypeScript compilation
-
a3840bed2: Upgrade dependency rollup-plugin-typescript2 to ^0.27.3 -
cba4e4d97: Including source maps with all packages -
9a3b3dbf1: Fixed duplicate help output, and print help on invalid command -
7bbeb049f: Change loadBackendConfig to return the config directly -
Updated dependencies [
8c2b76e45] -
Updated dependencies [
ce5512bc0]- @backstage/config-loader@0.2.0