diff --git a/.changeset/big-spies-agree.md b/.changeset/big-spies-agree.md
new file mode 100644
index 0000000000..1c544f4f36
--- /dev/null
+++ b/.changeset/big-spies-agree.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder-backend-module-yeoman': patch
+---
+
+Enables dry-run functionality for the run:yeoman scaffolder action
diff --git a/.changeset/dirty-boxes-give.md b/.changeset/dirty-boxes-give.md
new file mode 100644
index 0000000000..d339e49c98
--- /dev/null
+++ b/.changeset/dirty-boxes-give.md
@@ -0,0 +1,7 @@
+---
+'@backstage/plugin-proxy-backend': patch
+---
+
+Add the route name to an error message that appears when the backend
+proxy wasn't well configured. This will help users to understand the
+issue and fix the right configuration.
diff --git a/.changeset/dull-eyes-pay.md b/.changeset/dull-eyes-pay.md
new file mode 100644
index 0000000000..2a2b996051
--- /dev/null
+++ b/.changeset/dull-eyes-pay.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-auth-backend-module-oauth2-provider': minor
+---
+
+New module for `@backstage/plugin-auth-backend` that adds a `oauth2` auth provider.
diff --git a/.changeset/fifty-pigs-travel.md b/.changeset/fifty-pigs-travel.md
new file mode 100644
index 0000000000..2f43badc52
--- /dev/null
+++ b/.changeset/fifty-pigs-travel.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-kubernetes-backend': patch
+---
+
+Fixed a bug where requests to the proxy endpoint would fail for clusters with `caFile` configured
diff --git a/.changeset/grumpy-bikes-beg.md b/.changeset/grumpy-bikes-beg.md
new file mode 100644
index 0000000000..6fe44ee748
--- /dev/null
+++ b/.changeset/grumpy-bikes-beg.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder': patch
+---
+
+Restored functionality to `OwnedEntityPicker` by converting deprecated `ui:options` input to `catalogFilter`.
diff --git a/.changeset/mean-planes-smoke.md b/.changeset/mean-planes-smoke.md
new file mode 100644
index 0000000000..b082023cde
--- /dev/null
+++ b/.changeset/mean-planes-smoke.md
@@ -0,0 +1,5 @@
+---
+'@backstage/core-app-api': patch
+---
+
+Internal refactor
diff --git a/.changeset/mean-queens-act.md b/.changeset/mean-queens-act.md
new file mode 100644
index 0000000000..a895ba5705
--- /dev/null
+++ b/.changeset/mean-queens-act.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-newrelic': patch
+---
+
+Fixed bug in NewRelicComponent component where table would not sort correctly for numerical values.
diff --git a/.changeset/plenty-lamps-pump.md b/.changeset/plenty-lamps-pump.md
new file mode 100644
index 0000000000..04d0f2f4f0
--- /dev/null
+++ b/.changeset/plenty-lamps-pump.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-adr': patch
+---
+
+support for i18n feature
diff --git a/.changeset/pre.json b/.changeset/pre.json
index 2345e3af67..6c1673b0be 100644
--- a/.changeset/pre.json
+++ b/.changeset/pre.json
@@ -241,46 +241,67 @@
"@backstage/frontend-plugin-api": "0.0.0",
"@backstage/plugin-auth-backend-module-gitlab-provider": "0.0.0",
"@backstage/backend-plugin-manager": "0.0.0",
- "@backstage/plugin-permission-backend-module-allow-all-policy": "0.0.0"
+ "@backstage/plugin-permission-backend-module-allow-all-policy": "0.0.0",
+ "app-next-example-plugin": "0.0.0",
+ "@backstage/plugin-auth-backend-module-oauth2-provider": "0.0.0",
+ "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "0.0.0"
},
"changesets": [
"big-bananas-sleep",
+ "big-masks-divide",
+ "big-spies-agree",
"blue-rats-drop",
"brave-books-pretend",
"brave-carrots-occur",
"calm-cups-smile",
"catalog-everybody-to-the-limit",
"chatty-goats-mate",
+ "chatty-spiders-serve",
+ "chilly-balloons-enjoy",
"chilly-parrots-yell",
+ "clean-houses-invent",
"cold-apricots-poke",
"create-app-1692704146",
"create-app-1693311380",
+ "cuddly-avocados-warn",
"curvy-roses-march",
"cyan-roses-relate",
+ "dirty-boxes-give",
"dirty-carrots-notice",
+ "dirty-cars-poke",
+ "dirty-cars-smoke",
"dirty-garlics-kiss",
"dirty-years-travel",
"dry-wasps-occur",
+ "dull-eyes-pay",
"dull-tables-joke",
+ "early-rules-taste",
"early-trains.draw",
"eight-radios-listen",
"eight-timers-sin",
+ "eighty-emus-float",
"eighty-fans-provide",
"empty-rings-type",
"fair-paws-flash",
"few-nails-smile",
"fifty-adults-shake",
+ "forty-rocks-jog",
"four-masks-fry",
"fresh-candles-warn",
"friendly-pugs-lick",
"funny-ligers-matter",
+ "funny-timers-retire",
+ "giant-coats-brush",
"gorgeous-coins-attack",
"great-chairs-swim",
+ "grumpy-bikes-beg",
"grumpy-papayas-tie",
+ "grumpy-ties-know",
"healthy-spiders-arrive",
"healthy-tools-count",
"hip-seahorses-exist",
"honest-ads-rush",
+ "hungry-cherries-speak",
"hungry-dots-design",
"khaki-pigs-accept",
"khaki-spiders-sniff",
@@ -288,7 +309,10 @@
"late-hounds-yell",
"late-roses-dream",
"lazy-pumas-hope",
+ "lazy-pumas-shop",
"lazy-rice-rule",
+ "lemon-donuts-clap",
+ "light-drinks-rush",
"long-flowers-sort",
"loud-apricots-destroy",
"lovely-years-sniff",
@@ -296,28 +320,35 @@
"lucky-chicken-lie",
"many-tips-attend",
"mean-carpets-provide",
+ "mean-planes-smoke",
+ "mean-queens-act",
"mighty-crabs-cheat",
"modern-trees-add",
"nasty-cherries-exercise",
"nasty-forks-beg",
"nasty-snails-complain",
+ "nasty-worms-share",
"new-sheep-cover",
"nice-forks-remain",
+ "ninety-horses-remember",
"ninety-news-visit",
"old-geese-drive",
"orange-houses-fly",
"pink-cups-rescue",
"pink-months-hammer",
+ "plenty-lamps-pump",
"polite-forks-grin",
"polite-plums-share",
"poor-olives-own",
"poor-years-appear",
+ "popular-clocks-whisper",
"popular-coins-tap",
"popular-readers-allow",
"pretty-otters-whisper",
"proud-lamps-cross",
"red-pens-knock",
"renovate-2ebf420",
+ "renovate-36e7f58",
"renovate-76185f9",
"renovate-b129f45",
"renovate-bbda8e8",
@@ -325,27 +356,41 @@
"repo-tools-boo-descriptions-two-electric-boogaloo",
"repo-tools-boo-descriptions",
"repo-tools-ci-toldya-so",
+ "rotten-bees-wave",
"rude-dolphins-reply",
+ "short-planets-argue",
"silent-icons-deny",
+ "silent-numbers-retire",
"silly-emus-remain",
"six-radios-smile",
"six-wolves-admire",
"slow-ducks-hunt",
"slow-queens-visit",
"smart-islands-jog",
+ "stale-points-breathe",
"strange-frogs-count",
"stupid-ants-change",
"sweet-hairs-complain",
"sweet-pens-hunt",
"swift-frogs-drop",
+ "tall-countries-float",
"tall-items-clap",
"tall-peas-visit",
+ "tame-jokes-do",
+ "tender-garlics-report",
+ "thick-pets-drive",
+ "thin-dryers-repeat",
+ "three-hounds-wonder",
"tricky-melons-fold",
"twelve-elephants-pay",
+ "twenty-worms-enjoy",
"warm-llamas-bake",
"warm-panthers-lick",
"weak-tomatoes-dance",
+ "wet-donuts-fry",
+ "wise-tables-add",
"witty-ants-cover",
+ "witty-pans-flash",
"yellow-trains-protect",
"yellow-yaks-behave",
"young-ants-nail",
diff --git a/.changeset/renovate-36e7f58.md b/.changeset/renovate-36e7f58.md
new file mode 100644
index 0000000000..ed84727e2d
--- /dev/null
+++ b/.changeset/renovate-36e7f58.md
@@ -0,0 +1,11 @@
+---
+'@backstage/plugin-home-react': patch
+'@backstage/plugin-home': patch
+'@backstage/plugin-scaffolder-react': patch
+'@backstage/plugin-scaffolder': patch
+---
+
+Updated dependency `@rjsf/utils` to `5.13.0`.
+Updated dependency `@rjsf/core-v5` to `npm:@rjsf/core@5.13.0`.
+Updated dependency `@rjsf/material-ui-v5` to `npm:@rjsf/material-ui@5.13.0`.
+Updated dependency `@rjsf/validator-ajv8` to `5.13.0`.
diff --git a/.changeset/short-planets-argue.md b/.changeset/short-planets-argue.md
new file mode 100644
index 0000000000..c3134a59eb
--- /dev/null
+++ b/.changeset/short-planets-argue.md
@@ -0,0 +1,5 @@
+---
+'@backstage/cli': patch
+---
+
+When running `version:bump` it will now log duplicates instead of throwing an error
diff --git a/.changeset/silent-numbers-retire.md b/.changeset/silent-numbers-retire.md
new file mode 100644
index 0000000000..ff5f11ecee
--- /dev/null
+++ b/.changeset/silent-numbers-retire.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-vault-backend': patch
+'@backstage/plugin-vault': patch
+---
+
+Added ability to override vault secret engine value on catalog entity level using annotation `vault.io/secrets-engine`
diff --git a/.changeset/stale-points-breathe.md b/.changeset/stale-points-breathe.md
new file mode 100644
index 0000000000..36c01697d0
--- /dev/null
+++ b/.changeset/stale-points-breathe.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-tech-radar': patch
+---
+
+Fixed `RadarTimeline` text formatting.
diff --git a/.changeset/tame-jokes-do.md b/.changeset/tame-jokes-do.md
new file mode 100644
index 0000000000..8e9b5a6056
--- /dev/null
+++ b/.changeset/tame-jokes-do.md
@@ -0,0 +1,6 @@
+---
+'@backstage/plugin-scaffolder-backend': minor
+---
+
+Improved the `parseEntityRef` Scaffolder filter by introducing the ability for users to provide default kind and/or namespace values. The filter now takes
+2 arguments, similarly to the original [parseEntityRef](https://github.com/backstage/backstage/blob/v1.17.2/packages/catalog-model/src/entity/ref.ts#L77).
diff --git a/.changeset/tender-garlics-report.md b/.changeset/tender-garlics-report.md
new file mode 100644
index 0000000000..919af4d4f8
--- /dev/null
+++ b/.changeset/tender-garlics-report.md
@@ -0,0 +1,5 @@
+---
+'@backstage/cli': patch
+---
+
+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`.
diff --git a/.changeset/thick-pets-drive.md b/.changeset/thick-pets-drive.md
new file mode 100644
index 0000000000..ee09f8af06
--- /dev/null
+++ b/.changeset/thick-pets-drive.md
@@ -0,0 +1,17 @@
+---
+'@backstage/plugin-catalog-backend-module-gitlab': minor
+---
+
+Fix Gitlab.com user ingestion by scoping GitlabOrgDiscoveryEntityProvider to a group.
+
+**BREAKING** The `group` parameter is now required Gitlab.com Org Data integrations and the backend will fail to start without this option configured.
+
+```diff
+catalog:
+ providers:
+ gitlab:
+ yourProviderId:
+ host: gitlab.com
+ orgEnabled: true
++ group: org/teams
+```
diff --git a/.changeset/three-hounds-wonder.md b/.changeset/three-hounds-wonder.md
new file mode 100644
index 0000000000..fd4cb486bc
--- /dev/null
+++ b/.changeset/three-hounds-wonder.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-scaffolder': minor
+---
+
+adding a .zip download to dry run results page, including zip.js as dependency
diff --git a/.changeset/twenty-worms-enjoy.md b/.changeset/twenty-worms-enjoy.md
new file mode 100644
index 0000000000..ef820a3c9e
--- /dev/null
+++ b/.changeset/twenty-worms-enjoy.md
@@ -0,0 +1,7 @@
+---
+'@backstage/plugin-scaffolder-backend': minor
+---
+
+**DEPRECATION**: Deprecated `ScaffolderEntitiesProcessor`, which should now instead be imported from `@backstage/plugin-catalog-backend-module-scaffolder-entity-model`.
+
+`catalogModuleTemplateKind` was also moved to that package and renamed to `catalogModuleScaffolderEntityModel`, without any deprecation since it was an alpha export.
diff --git a/.changeset/wet-donuts-fry.md b/.changeset/wet-donuts-fry.md
new file mode 100644
index 0000000000..1f4c8dc4fc
--- /dev/null
+++ b/.changeset/wet-donuts-fry.md
@@ -0,0 +1,5 @@
+---
+'@backstage/plugin-catalog-backend-module-scaffolder-entity-model': minor
+---
+
+Added a dedicated module to collect the `ScaffolderEntitiesProcessor` and `catalogModuleTemplateKind`.
diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml
index d247312f89..62c693de6f 100644
--- a/.github/workflows/scorecard.yml
+++ b/.github/workflows/scorecard.yml
@@ -53,7 +53,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: 'Upload artifact'
- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
+ uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3
with:
name: SARIF file
path: results.sarif
diff --git a/docs/auth/index.md b/docs/auth/index.md
index 0efbbcef21..ecef22b612 100644
--- a/docs/auth/index.md
+++ b/docs/auth/index.md
@@ -10,6 +10,13 @@ configure Backstage to have any number of authentication providers, but only
one of these will typically be used for sign-in, with the rest being used to provide
access to external resources.
+> NOTE: Identity management and the Sign-In page in Backstage is NOT a method for blocking
+> access for unauthorized users. The identity system only serves to provide a personalized
+> experience and access to a Backstage Identity Token, which can be passed to backend plugins.
+> This also means that your Backstage backend APIs are by default unauthenticated.
+> Thus, if your Backstage instance is exposed to the Internet, anyone can access
+> information in the Backstage. You can learn more [here](../overview/threat-model.md#integrator-responsibilities).
+
## Built-in Authentication Providers
Backstage comes with many common authentication providers in the core library:
@@ -60,13 +67,6 @@ the local `auth.environment` setting will be selected.
## Sign-In Configuration
-> NOTE: Identity management and the `SignInPage` in Backstage is NOT a method
-> for blocking access for unauthorized users, that either requires additional
-> backend implementation or a separate service like Google's Identity-Aware
-> Proxy. The identity system only serves to provide a personalized experience
-> and access to a Backstage Identity Token, which can be passed to backend
-> plugins.
-
Using an authentication provider for sign-in is something you need to configure
both in the frontend app, as well as the `auth` backend plugin. For information
on how to configure the backend app, see [Sign-in Identities and Resolvers](./identity-resolver.md).
diff --git a/docs/features/software-catalog/extending-the-model.md b/docs/features/software-catalog/extending-the-model.md
index 4520bf60ca..52ef565837 100644
--- a/docs/features/software-catalog/extending-the-model.md
+++ b/docs/features/software-catalog/extending-the-model.md
@@ -467,7 +467,7 @@ The next step is to create a custom processor for your new entity kind. This
will be used within the catalog to make sure that it's able to ingest and
validate entities of our new kind. Just like with the definition package, you
can find inspiration in for example the existing
-[ScaffolderEntitiesProcessor](https://github.com/backstage/backstage/tree/master/plugins/scaffolder-backend/src/processor/ScaffolderEntitiesProcessor.ts).
+[ScaffolderEntitiesProcessor](https://github.com/backstage/backstage/tree/master/plugins/catalog-backend-module-scaffolder-entity-model/src/processor/ScaffolderEntitiesProcessor.ts).
We also provide a high-level example of what a catalog process for a custom
entity might look like:
diff --git a/docs/features/software-templates/writing-templates.md b/docs/features/software-templates/writing-templates.md
index 135d508513..7019ecfb28 100644
--- a/docs/features/software-templates/writing-templates.md
+++ b/docs/features/software-templates/writing-templates.md
@@ -627,3 +627,98 @@ output things. You can grab that output using `steps.$stepId.output.$property`.
You can read more about all the `inputs` and `outputs` defined in the actions in
code part of the `JSONSchema`, or you can read more about our
[built in actions](./builtin-actions.md).
+
+## Built in Filters
+
+Template filters are functions that help you transform data, extract specific information,
+and perform various operations in Scaffolder Templates.
+
+This section introduces the built-in filters provided by Backstage and offers examples of
+how to use them in the Scaffolder templates. It's important to mention that Backstage also leverages the
+native filters from the Nunjucks library. For a complete list of these native filters and their usage,
+refer to the [Nunjucks documentation](https://mozilla.github.io/nunjucks/templating.html#builtin-filters).
+
+### parseRepoUrl
+
+The `parseRepoUrl` filter parse a repository URL into
+its components, such as `owner`, repository `name`, and more.
+
+**Usage Example:**
+
+```yaml
+- id: log
+ name: Parse Repo URL
+ action: debug:log
+ input:
+ extra: ${{ parameters.repoUrl | parseRepoUrl }}
+```
+
+- **Input**: `github.com?repo=backstage&org=backstage`
+- **Output**: [RepoSpec](https://github.com/backstage/backstage/blob/v1.17.2/plugins/scaffolder-backend/src/scaffolder/actions/builtin/publish/util.ts#L39)
+
+### parseEntityRef
+
+The `parseEntityRef` filter allows you to extract different parts of
+an entity reference, such as the `kind`, `namespace`, and `name`.
+
+**Usage example**
+
+1. Without context
+
+```yaml
+- id: log
+ name: Parse Entity Reference
+ action: debug:log
+ input:
+ extra: ${{ parameters.owner | parseEntityRef }}
+```
+
+- **Input**: `group:techdocs`
+- **Output**: [CompoundEntityRef](https://github.com/backstage/backstage/blob/v1.17.2/packages/catalog-model/src/types.ts#L23)
+
+2. With context
+
+```yaml
+- id: log
+ name: Parse Entity Reference
+ action: debug:log
+ input:
+ extra: ${{ parameters.owner | parseEntityRef({ defaultKind:"group", defaultNamespace:"another-namespace" }) }}
+```
+
+- **Input**: `techdocs`
+- **Output**: [CompoundEntityRef](https://github.com/backstage/backstage/blob/v1.17.2/packages/catalog-model/src/types.ts#L23)
+
+### pick
+
+This `pick` filter allows you to select specific properties from an object.
+
+**Usage Example**
+
+```yaml
+- id: log
+ name: Pick
+ action: debug:log
+ input:
+ extra: ${{ parameters.owner | parseEntityRef | pick('name') }}
+```
+
+- **Input**: `{ kind: 'Group', namespace: 'default', name: 'techdocs' }`
+- **Output**: `techdocs`
+
+### projectSlug
+
+The `projectSlug` filter generates a project slug from a repository URL
+
+**Usage Example**
+
+```yaml
+- id: log
+ name: Project Slug
+ action: debug:log
+ input:
+ extra: ${{ parameters.repoUrl | projectSlug }}
+```
+
+- **Input**: `github.com?repo=backstage&org=backstage`
+- **Output**: `backstage/backstage`
diff --git a/docs/integrations/gitlab/org.md b/docs/integrations/gitlab/org.md
index d022641ab6..ca40cefa9e 100644
--- a/docs/integrations/gitlab/org.md
+++ b/docs/integrations/gitlab/org.md
@@ -65,11 +65,52 @@ catalog:
yourProviderId:
host: gitlab.com
orgEnabled: true
- group: org/teams # Optional. Must not end with slash. Accepts only groups under the provided path (which will be stripped)
+ group: org/teams # Required for gitlab.com when `orgEnabled: true`. Optional for self managed. Must not end with slash. Accepts only groups under the provided path (which will be stripped)
groupPattern: '[\s\S]*' # Optional. Filters found groups based on provided pattern. Defaults to `[\s\S]*`, which means to not filter anything
```
+### Groups
+
When the `group` parameter is provided, the corresponding path prefix will be
stripped out from each matching group when computing the unique entity name.
e.g. If `group` is `org/teams`, the name for `org/teams/avengers/gotg` will be
`avengers-gotg`.
+
+For gitlab.com, when `orgEnabled: true`, the `group` parameter is required in
+order to limit the ingestion to a group within your organisation. `Group`
+entities will only be ingested for the configured group, or its descendant groups,
+but not any ancestor groups higher than the configured group path. Only groups
+which contain members will be ingested.
+
+### Users
+
+For self hosted, all `User` entities are ingested from the entire instance.
+
+For gitlab.com `User` entities for users who have [direct or inherited membership](https://docs.gitlab.com/ee/user/project/members/index.html#membership-types)
+of the top-level group for the configured group path will be ingested.
+
+### Limiting `User` and `Group` entity ingestion in the provider
+
+Optionally, you can limit the entity types ingested by the provider when using
+`orgEnabled: true` with the following `rules` configuration to limit it to only
+`User` and `Group` entities.
+
+```yaml
+catalog:
+ providers:
+ gitlab:
+ yourOrgDataProviderId:
+ host: gitlab.com
+ orgEnabled: true
+ group: org/teams
+ rules:
+ - allow: [Group, User]
+```
+
+## Troubleshooting
+
+**NOTE**: If any groups that are being ingested are empty groups (i.e. do not
+contain any projects) and the user which provisioned the token is shared with a
+higher level group via [group sharing](https://docs.gitlab.com/ee/user/group/manage.html#share-a-group-with-another-group)
+and you don't see the expected number of `Group` entities in the catalog you may
+be hitting this [Gitlab issue](https://gitlab.com/gitlab-org/gitlab/-/issues/267996).
diff --git a/docs/releases/v1.18.0-next.3-changelog.md b/docs/releases/v1.18.0-next.3-changelog.md
new file mode 100644
index 0000000000..a83cb2e24b
--- /dev/null
+++ b/docs/releases/v1.18.0-next.3-changelog.md
@@ -0,0 +1,3948 @@
+# Release v1.18.0-next.3
+
+## @backstage/frontend-app-api@0.1.0-next.0
+
+### Minor Changes
+
+- 628ca7e458e4: Initial release
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.1.0-next.0
+ - @backstage/plugin-graphiql@0.2.54-next.3
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/frontend-plugin-api@0.1.0-next.0
+
+### Minor Changes
+
+- 628ca7e458e4: Initial release
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-adr-backend@0.4.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/plugin-adr-common@0.2.15-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-airbrake-backend@0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-auth-backend@0.19.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend-module-gcp-iap-provider@0.1.0-next.3
+ - @backstage/plugin-auth-backend-module-github-provider@0.1.0-next.3
+ - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.0-next.2
+ - @backstage/plugin-auth-backend-module-google-provider@0.1.0-next.3
+ - @backstage/plugin-auth-backend-module-oauth2-provider@0.1.0-next.0
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-auth-backend-module-oauth2-provider@0.1.0-next.0
+
+### Minor Changes
+
+- 101cf1d13b04: New module for `@backstage/plugin-auth-backend` that adds a `oauth2` auth provider.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-azure-devops-backend@0.4.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-azure-devops-common@0.3.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-badges-backend@0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-bazaar-backend@0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-catalog-backend-module-github@0.4.0-next.3
+
+### Minor Changes
+
+- fa7004d9722c: Added a `catalogModuleGithubOrgEntityProvider` for the new backend system
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
+## @backstage/plugin-catalog-backend-module-gitlab@0.3.0-next.3
+
+### Minor Changes
+
+- 3d73bafd85c9: Fix Gitlab.com user ingestion by scoping GitlabOrgDiscoveryEntityProvider to a group.
+
+ **BREAKING** The `group` parameter is now required Gitlab.com Org Data integrations and the backend will fail to start without this option configured.
+
+ ```diff
+ catalog:
+ providers:
+ gitlab:
+ yourProviderId:
+ host: gitlab.com
+ orgEnabled: true
+ + group: org/teams
+ ```
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- 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/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.0-next.0
+
+### Minor Changes
+
+- d5313ede3529: Added a dedicated module to collect the `ScaffolderEntitiesProcessor` and `catalogModuleTemplateKind`.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-catalog-backend-module-unprocessed@0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-devtools-backend@0.2.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-devtools-common@0.1.4-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/cli-common@0.1.12
+ - @backstage/config-loader@1.5.0-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-entity-feedback-backend@0.2.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-entity-feedback-common@0.1.3-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-kafka-backend@0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- 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/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-lighthouse-backend@0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-lighthouse-common@0.1.3-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-linguist-backend@0.5.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-linguist-common@0.1.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-periskop-backend@0.2.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-proxy-backend@0.4.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- 02ba0a2efd2a: Add the route name to an error message that appears when the backend
+ proxy wasn't well configured. This will help users to understand the
+ issue and fix the right configuration.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-scaffolder@1.15.0-next.3
+
+### Minor Changes
+
+- 0119c326394a: adding a .zip download to dry run results page, including zip.js as dependency
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 6e69c11a3535: Restored functionality to `OwnedEntityPicker` by converting deprecated `ui:options` input to `catalogFilter`.
+- b16c341ced45: Updated dependency `@rjsf/utils` to `5.13.0`.
+ Updated dependency `@rjsf/core-v5` to `npm:@rjsf/core@5.13.0`.
+ Updated dependency `@rjsf/material-ui-v5` to `npm:@rjsf/material-ui@5.13.0`.
+ Updated dependency `@rjsf/validator-ajv8` to `5.13.0`.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/plugin-scaffolder-react@1.5.5-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-scaffolder-backend@1.17.0-next.3
+
+### Minor Changes
+
+- b5f239b50bcf: Improved the `parseEntityRef` Scaffolder filter by introducing the ability for users to provide default kind and/or namespace values. The filter now takes
+ 2 arguments, similarly to the original [parseEntityRef](https://github.com/backstage/backstage/blob/v1.17.2/packages/catalog-model/src/entity/ref.ts#L77).
+- d5313ede3529: **DEPRECATION**: Deprecated `ScaffolderEntitiesProcessor`, which should now instead be imported from `@backstage/plugin-catalog-backend-module-scaffolder-entity-model`.
+
+ `catalogModuleTemplateKind` was also moved to that package and renamed to `catalogModuleScaffolderEntityModel`, without any deprecation since it was an alpha export.
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.0-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
+## @backstage/plugin-todo-backend@0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-openapi-utils@0.0.4-next.0
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-user-settings-backend@0.2.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/app-defaults@1.4.3-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/backend-app-api@0.5.3-next.3
+
+### Patch Changes
+
+- 154632d8753b: Add support for discovering additional service factories during startup.
+- cb7fc410ed99: The experimental backend feature discovery now only considers default exports from packages. It no longer filters packages to include based on the package role, except that `'cli'` packages are ignored. However, the `"backstage"` field is still required in `package.json`.
+- 3b30b179cb38: Add support for installing features as package imports, for example `backend.add(import('my-plugin'))`.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/cli-common@0.1.12
+ - @backstage/cli-node@0.1.4-next.0
+ - @backstage/config-loader@1.5.0-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/backend-common@0.19.5-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.3-next.3
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-dev-utils@0.1.1
+ - @backstage/cli-common@0.1.12
+ - @backstage/config-loader@1.5.0-next.3
+ - @backstage/integration-aws-node@0.1.6-next.2
+
+## @backstage/backend-defaults@0.2.3-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.3-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/backend-openapi-utils@0.0.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.2.2-next.0
+
+## @backstage/backend-plugin-api@0.6.3-next.3
+
+### Patch Changes
+
+- ba4506076e2d: Ensure that root scoped services cannot accept (at a type level) plugin scoped deps
+- 474b792d6a43: Service factory functions are now marked as feature factories that can be installed in the backend.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/backend-tasks@0.5.8-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/backend-test-utils@0.2.3-next.3
+
+### Patch Changes
+
+- 202e52c5e361: Add support for installing backend features via module imports, for example `startTestBackend({ features: [import('my-plugin')] })`.
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.3-next.3
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/catalog-client@1.4.4-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/errors@1.2.2-next.0
+
+## @backstage/catalog-model@1.4.2-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/cli@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
+
+## @backstage/cli-node@0.1.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/cli-common@0.1.12
+
+## @backstage/config@1.1.0-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/config-loader@1.5.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/cli-common@0.1.12
+
+## @backstage/core-app-api@1.10.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 9fe827b380e1: Internal refactor
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
+## @backstage/core-components@0.13.5-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
+## @backstage/core-plugin-api@1.6.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
+## @backstage/create-app@0.5.5-next.3
+
+### Patch Changes
+
+- 4606e005df5d: Added a `fix` scripts that calls the new `backstage-cli repo fix` command.
+
+ To apply this change to an existing app, make the following change to your root `package.json`:
+
+ ```diff
+ "test": "backstage-cli repo test",
+ "test:all": "backstage-cli repo test --coverage",
+ + "fix": "backstage-cli repo fix",
+ "lint": "backstage-cli repo lint --since origin/master",
+ ```
+
+- 612594022245: Add a notification when `yarn install` is taking a long time.
+
+- Updated dependencies
+ - @backstage/cli-common@0.1.12
+
+## @backstage/dev-utils@1.0.21-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/test-utils@1.4.3-next.3
+ - @backstage/app-defaults@1.4.3-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/errors@1.2.2-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/integration@1.7.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+
+## @backstage/integration-aws-node@0.1.6-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+
+## @backstage/integration-react@1.1.19-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/release-manifests@0.0.10-next.1
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
+## @backstage/repo-tools@0.3.4-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/cli-common@0.1.12
+ - @backstage/cli-node@0.1.4-next.0
+
+## @techdocs/cli@1.5.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/cli-common@0.1.12
+ - @backstage/plugin-techdocs-node@1.8.0-next.3
+
+## @backstage/test-utils@1.4.3-next.3
+
+### Patch Changes
+
+- 7032c214f3b4: Add pod exec terminal to Container Card
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/theme@0.4.2-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
+## @backstage/types@1.1.1-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
+## @backstage/version-bridge@1.0.5-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
+## @backstage/plugin-adr@0.6.7-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- aa844e704a32: support for i18n feature
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-adr-common@0.2.15-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-adr-common@0.2.15-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+
+## @backstage/plugin-airbrake@0.3.24-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/test-utils@1.4.3-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/dev-utils@1.0.21-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-allure@0.1.40-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-analytics-module-ga@0.1.33-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-analytics-module-ga4@0.1.4-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-analytics-module-newrelic-browser@0.0.2-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+
+## @backstage/plugin-apache-airflow@0.2.15-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+
+## @backstage/plugin-api-docs@0.9.11-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog@1.13.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-api-docs-module-protoc-gen-doc@0.1.3-next.1
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
+## @backstage/plugin-apollo-explorer@0.1.15-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-app-backend@0.3.51-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/config-loader@1.5.0-next.3
+ - @backstage/plugin-app-node@0.1.3-next.3
+
+## @backstage/plugin-app-node@0.1.3-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+
+## @backstage/plugin-auth-backend-module-gcp-iap-provider@0.1.0-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-auth-backend-module-github-provider@0.1.0-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-auth-backend-module-gitlab-provider@0.1.0-next.2
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-auth-backend-module-google-provider@0.1.0-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-auth-node@0.3.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-azure-devops@0.3.6-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-azure-devops-common@0.3.1-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-azure-devops-common@0.3.1-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
+## @backstage/plugin-azure-sites@0.1.13-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-azure-sites-common@0.1.1-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-azure-sites-backend@0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-azure-sites-common@0.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-azure-sites-common@0.1.1-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
+## @backstage/plugin-badges@0.2.48-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-bazaar@0.2.16-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/cli@0.22.13-next.3
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog@1.13.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-bitbucket-cloud-common@0.2.12-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/integration@1.7.0-next.3
+
+## @backstage/plugin-bitrise@0.1.51-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-catalog@1.13.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-catalog-backend@1.13.0-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-module-catalog@0.1.7-next.3
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-openapi-utils@0.0.4-next.0
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
+## @backstage/plugin-catalog-backend-module-aws@0.2.6-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- 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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-kubernetes-common@0.6.6-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/integration-aws-node@0.1.6-next.2
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-catalog-backend-module-azure@0.1.22-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- 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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-catalog-backend-module-bitbucket@0.2.18-next.3
+
+### Patch Changes
+
+- 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/plugin-bitbucket-cloud-common@0.2.12-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.1.18-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-bitbucket-cloud-common@0.2.12-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
+## @backstage/plugin-catalog-backend-module-bitbucket-server@0.1.16-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- 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/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-catalog-backend-module-gcp@0.1.3-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-kubernetes-common@0.6.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-catalog-backend-module-gerrit@0.1.19-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- 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/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.4.6-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
+## @backstage/plugin-catalog-backend-module-ldap@0.5.18-next.3
+
+### Patch Changes
+
+- 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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-catalog-backend-module-msgraph@0.5.10-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-catalog-backend-module-openapi@0.1.19-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-catalog-backend-module-puppetdb@0.1.8-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- 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/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-catalog-common@1.0.16-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+
+## @backstage/plugin-catalog-graph@0.2.36-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-catalog-graphql@0.3.23-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-catalog-import@0.9.14-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+
+## @backstage/plugin-catalog-node@1.4.4-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+
+## @backstage/plugin-catalog-react@1.8.4-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
+## @backstage/plugin-catalog-unprocessed-entities@0.1.3-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-cicd-statistics@0.1.26-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+
+## @backstage/plugin-cicd-statistics-module-gitlab@0.1.20-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-cicd-statistics@0.1.26-next.3
+
+## @backstage/plugin-circleci@0.3.24-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-cloudbuild@0.3.24-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-code-climate@0.1.24-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-code-coverage@0.2.17-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-code-coverage-backend@0.2.17-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-codescene@0.1.17-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-config-schema@0.1.45-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-cost-insights@0.12.13-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-cost-insights-common@0.1.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-cost-insights-common@0.1.2-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
+## @backstage/plugin-devtools@0.1.4-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-devtools-common@0.1.4-next.2
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-devtools-common@0.1.4-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-dynatrace@7.0.4-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-entity-feedback@0.2.7-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-entity-feedback-common@0.1.3-next.0
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-entity-feedback-common@0.1.3-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
+## @backstage/plugin-entity-validation@0.1.9-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-events-backend@0.2.12-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
+## @backstage/plugin-events-backend-module-aws-sqs@0.2.6-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
+## @backstage/plugin-events-backend-module-azure@0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
+## @backstage/plugin-events-backend-module-bitbucket-cloud@0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
+## @backstage/plugin-events-backend-module-gerrit@0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
+## @backstage/plugin-events-backend-module-github@0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
+## @backstage/plugin-events-backend-module-gitlab@0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
+## @backstage/plugin-events-backend-test-utils@0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-events-node@0.2.12-next.3
+
+## @backstage/plugin-events-node@0.2.12-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+
+## @backstage/plugin-explore@0.4.10-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-explore-common@0.0.2-next.0
+ - @backstage/plugin-explore-react@0.0.31-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-explore-backend@0.0.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-module-explore@0.1.7-next.3
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-explore-common@0.0.2-next.0
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-explore-common@0.0.2-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
+## @backstage/plugin-explore-react@0.0.31-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-explore-common@0.0.2-next.0
+
+## @backstage/plugin-firehydrant@0.2.8-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-fossa@0.2.56-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-gcalendar@0.3.18-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-gcp-projects@0.3.41-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-git-release-manager@0.3.37-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-github-actions@0.6.5-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-github-deployments@0.1.55-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-github-issues@0.2.13-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-github-pull-requests-board@0.1.18-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-gitops-profiles@0.3.40-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-gocd@0.1.30-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-graphiql@0.2.54-next.3
+
+### Patch Changes
+
+- cf950c3b6eab: Added experimental exports for the new frontend system under `/alpha`.
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.1.0-next.0
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-graphql-backend@0.1.41-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-catalog-graphql@0.3.23-next.2
+
+## @backstage/plugin-graphql-voyager@0.1.7-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-home@0.5.8-next.3
+
+### Patch Changes
+
+- 2bc96ce69eea: Fixed a bug where customizable home page cards would render missing their normal borders.
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- b16c341ced45: Updated dependency `@rjsf/utils` to `5.13.0`.
+ Updated dependency `@rjsf/core-v5` to `npm:@rjsf/core@5.13.0`.
+ Updated dependency `@rjsf/material-ui-v5` to `npm:@rjsf/material-ui@5.13.0`.
+ Updated dependency `@rjsf/validator-ajv8` to `5.13.0`.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-home-react@0.1.3-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-home-react@0.1.3-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- b16c341ced45: Updated dependency `@rjsf/utils` to `5.13.0`.
+ Updated dependency `@rjsf/core-v5` to `npm:@rjsf/core@5.13.0`.
+ Updated dependency `@rjsf/material-ui-v5` to `npm:@rjsf/material-ui@5.13.0`.
+ Updated dependency `@rjsf/validator-ajv8` to `5.13.0`.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+
+## @backstage/plugin-ilert@0.2.13-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-jenkins@0.8.6-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-jenkins-common@0.1.19-next.2
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-jenkins-backend@0.2.6-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-jenkins-common@0.1.19-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-jenkins-common@0.1.19-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+
+## @backstage/plugin-kafka@0.3.24-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-kubernetes@0.10.3-next.3
+
+### Patch Changes
+
+- 7032c214f3b4: Add pod exec terminal to Container Card
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-kubernetes-common@0.6.6-next.2
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-kubernetes-backend@0.11.6-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- a8a614ba0d07: Minor `package.json` update.
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-kubernetes-common@0.6.6-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/integration-aws-node@0.1.6-next.2
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
+## @backstage/plugin-kubernetes-common@0.6.6-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+
+## @backstage/plugin-lighthouse@0.4.9-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-lighthouse-common@0.1.3-next.2
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-lighthouse-common@0.1.3-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+
+## @backstage/plugin-linguist@0.1.9-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-linguist-common@0.1.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-linguist-common@0.1.2-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
+## @backstage/plugin-microsoft-calendar@0.1.7-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-newrelic@0.3.40-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 55cb7061e072: Fixed bug in NewRelicComponent component where table would not sort correctly for numerical values.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-newrelic-dashboard@0.2.17-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+
+## @backstage/plugin-nomad@0.1.5-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-nomad-backend@0.1.5-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-octopus-deploy@0.2.6-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-opencost@0.2.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-org@0.6.14-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-org-react@0.1.13-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-pagerduty@0.6.5-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-home-react@0.1.3-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-periskop@0.1.22-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-permission-backend@0.5.26-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- a8a614ba0d07: Minor `package.json` update.
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-permission-backend-module-allow-all-policy@0.1.0-next.1
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-permission-common@0.7.8-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-permission-node@0.7.14-next.3
+
+### Patch Changes
+
+- a8a614ba0d07: Minor `package.json` update.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-permission-react@0.4.15-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-permission-common@0.7.8-next.2
+
+## @backstage/plugin-playlist@0.1.16-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 2f3215bbbffe: Fix a bug that led to errors being thrown in guest mode
+- fdbf215a8d8e: Fix the Ui style of the search bar
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/plugin-playlist-common@0.1.10-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-playlist-backend@0.3.7-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-playlist-common@0.1.10-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @backstage/plugin-playlist-common@0.1.10-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.7.8-next.2
+
+## @backstage/plugin-puppetdb@0.1.7-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-rollbar@0.4.24-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-rollbar-backend@0.1.48-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.4-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
+## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.2.27-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
+## @backstage/plugin-scaffolder-backend-module-gitlab@0.2.6-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
+## @backstage/plugin-scaffolder-backend-module-rails@0.4.20-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
+## @backstage/plugin-scaffolder-backend-module-sentry@0.1.11-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
+## @backstage/plugin-scaffolder-backend-module-yeoman@0.2.24-next.3
+
+### Patch Changes
+
+- 4fa1c74cbadc: Enables dry-run functionality for the run:yeoman scaffolder action
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
+## @backstage/plugin-scaffolder-common@1.4.1-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-scaffolder-node@0.2.3-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-scaffolder-react@1.5.5-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- b16c341ced45: Updated dependency `@rjsf/utils` to `5.13.0`.
+ Updated dependency `@rjsf/core-v5` to `npm:@rjsf/core@5.13.0`.
+ Updated dependency `@rjsf/material-ui-v5` to `npm:@rjsf/material-ui@5.13.0`.
+ Updated dependency `@rjsf/validator-ajv8` to `5.13.0`.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
+## @backstage/plugin-search@1.4.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
+## @backstage/plugin-search-backend@1.4.3-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-openapi-utils@0.0.4-next.0
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
+## @backstage/plugin-search-backend-module-catalog@0.1.7-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
+## @backstage/plugin-search-backend-module-elasticsearch@1.3.6-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/integration-aws-node@0.1.6-next.2
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
+## @backstage/plugin-search-backend-module-explore@0.1.7-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-explore-common@0.0.2-next.0
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
+## @backstage/plugin-search-backend-module-pg@0.5.12-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
+## @backstage/plugin-search-backend-module-techdocs@0.1.7-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+ - @backstage/plugin-techdocs-node@1.8.0-next.3
+
+## @backstage/plugin-search-backend-node@1.2.7-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+
+## @backstage/plugin-search-common@1.2.6-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-search-react@1.7.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
+## @backstage/plugin-sentry@0.5.9-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-shortcuts@0.3.14-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-sonarqube@0.7.5-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-sonarqube-react@0.1.8-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-sonarqube-backend@0.2.5-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-sonarqube-react@0.1.8-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+
+## @backstage/plugin-splunk-on-call@0.4.13-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-stack-overflow@0.1.20-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-home-react@0.1.3-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-stack-overflow-backend@0.2.7-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-common@0.19.5-next.3
+
+## @backstage/plugin-stackstorm@0.1.6-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-tech-insights@0.3.16-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-tech-insights-common@0.2.12-next.0
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-tech-insights-backend@0.5.17-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-tech-insights-common@0.2.12-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-tech-insights-node@0.4.9-next.3
+
+## @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.35-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-tech-insights-common@0.2.12-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-tech-insights-node@0.4.9-next.3
+
+## @backstage/plugin-tech-insights-common@0.2.12-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-tech-insights-node@0.4.9-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-tech-insights-common@0.2.12-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+
+## @backstage/plugin-tech-radar@0.6.8-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- c357f62052af: Fixed `RadarTimeline` text formatting.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-techdocs@1.7.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/plugin-techdocs-react@1.1.10-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-techdocs-addons-test-utils@1.0.21-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/test-utils@1.4.3-next.3
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog@1.13.0-next.3
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/plugin-techdocs@1.7.0-next.3
+ - @backstage/plugin-techdocs-react@1.1.10-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-techdocs-backend@1.7.0-next.3
+
+### Patch Changes
+
+- 60af8017dd84: Expand techdocs.publisher.type with `googleGcs`,`awsS3`,`azureBlobStorage` and `openStackSwift`
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- a8a614ba0d07: Minor `package.json` update.
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-module-techdocs@0.1.7-next.3
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-techdocs-node@1.8.0-next.3
+
+## @backstage/plugin-techdocs-module-addons-contrib@1.1.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-techdocs-react@1.1.10-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-techdocs-node@1.8.0-next.3
+
+### Patch Changes
+
+- 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/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/integration-aws-node@0.1.6-next.2
+
+## @backstage/plugin-techdocs-react@1.1.10-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/version-bridge@1.0.5-next.0
+
+## @backstage/plugin-todo@0.2.26-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-user-settings@0.7.9-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
+## @backstage/plugin-vault@0.1.18-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 858a18800870: Added ability to override vault secret engine value on catalog entity level using annotation `vault.io/secrets-engine`
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @backstage/plugin-vault-backend@0.3.7-next.3
+
+### Patch Changes
+
+- 858a18800870: Added ability to override vault secret engine value on catalog entity level using annotation `vault.io/secrets-engine`
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+
+## @backstage/plugin-xcmetrics@0.2.42-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
+## example-app@0.2.87-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-home@0.5.8-next.3
+ - @backstage/plugin-graphiql@0.2.54-next.3
+ - @backstage/cli@0.22.13-next.3
+ - @backstage/plugin-kubernetes@0.10.3-next.3
+ - @backstage/app-defaults@1.4.3-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-adr@0.6.7-next.3
+ - @backstage/plugin-airbrake@0.3.24-next.3
+ - @backstage/plugin-apache-airflow@0.2.15-next.3
+ - @backstage/plugin-api-docs@0.9.11-next.3
+ - @backstage/plugin-azure-devops@0.3.6-next.3
+ - @backstage/plugin-azure-sites@0.1.13-next.3
+ - @backstage/plugin-badges@0.2.48-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-graph@0.2.36-next.3
+ - @backstage/plugin-catalog-import@0.9.14-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-catalog-unprocessed-entities@0.1.3-next.3
+ - @backstage/plugin-circleci@0.3.24-next.3
+ - @backstage/plugin-cloudbuild@0.3.24-next.3
+ - @backstage/plugin-code-coverage@0.2.17-next.3
+ - @backstage/plugin-cost-insights@0.12.13-next.3
+ - @backstage/plugin-devtools@0.1.4-next.3
+ - @backstage/plugin-dynatrace@7.0.4-next.3
+ - @backstage/plugin-entity-feedback@0.2.7-next.3
+ - @backstage/plugin-explore@0.4.10-next.3
+ - @backstage/plugin-gcalendar@0.3.18-next.3
+ - @backstage/plugin-gcp-projects@0.3.41-next.3
+ - @backstage/plugin-github-actions@0.6.5-next.3
+ - @backstage/plugin-gocd@0.1.30-next.3
+ - @backstage/plugin-jenkins@0.8.6-next.3
+ - @backstage/plugin-kafka@0.3.24-next.3
+ - @backstage/plugin-lighthouse@0.4.9-next.3
+ - @backstage/plugin-linguist@0.1.9-next.3
+ - @backstage/plugin-linguist-common@0.1.2-next.0
+ - @backstage/plugin-microsoft-calendar@0.1.7-next.3
+ - @backstage/plugin-newrelic@0.3.40-next.3
+ - @backstage/plugin-newrelic-dashboard@0.2.17-next.3
+ - @backstage/plugin-nomad@0.1.5-next.3
+ - @backstage/plugin-octopus-deploy@0.2.6-next.3
+ - @backstage/plugin-org@0.6.14-next.3
+ - @backstage/plugin-pagerduty@0.6.5-next.3
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/plugin-playlist@0.1.16-next.3
+ - @backstage/plugin-puppetdb@0.1.7-next.3
+ - @backstage/plugin-rollbar@0.4.24-next.3
+ - @backstage/plugin-scaffolder@1.15.0-next.3
+ - @backstage/plugin-scaffolder-react@1.5.5-next.3
+ - @backstage/plugin-search@1.4.0-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/plugin-sentry@0.5.9-next.3
+ - @backstage/plugin-shortcuts@0.3.14-next.3
+ - @backstage/plugin-stack-overflow@0.1.20-next.3
+ - @backstage/plugin-stackstorm@0.1.6-next.3
+ - @backstage/plugin-tech-insights@0.3.16-next.3
+ - @backstage/plugin-tech-radar@0.6.8-next.3
+ - @backstage/plugin-techdocs@1.7.0-next.3
+ - @backstage/plugin-techdocs-module-addons-contrib@1.1.0-next.3
+ - @backstage/plugin-techdocs-react@1.1.10-next.3
+ - @backstage/plugin-todo@0.2.26-next.3
+ - @backstage/plugin-user-settings@0.7.9-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @internal/plugin-catalog-customized@0.0.14-next.3
+
+## example-app-next@0.0.1-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-home@0.5.8-next.3
+ - @backstage/frontend-plugin-api@0.1.0-next.0
+ - @backstage/frontend-app-api@0.1.0-next.0
+ - @backstage/plugin-graphiql@0.2.54-next.3
+ - @backstage/cli@0.22.13-next.3
+ - @backstage/plugin-kubernetes@0.10.3-next.3
+ - @backstage/app-defaults@1.4.3-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-adr@0.6.7-next.3
+ - @backstage/plugin-airbrake@0.3.24-next.3
+ - @backstage/plugin-apache-airflow@0.2.15-next.3
+ - @backstage/plugin-api-docs@0.9.11-next.3
+ - @backstage/plugin-azure-devops@0.3.6-next.3
+ - @backstage/plugin-azure-sites@0.1.13-next.3
+ - @backstage/plugin-badges@0.2.48-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-graph@0.2.36-next.3
+ - @backstage/plugin-catalog-import@0.9.14-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-catalog-unprocessed-entities@0.1.3-next.3
+ - @backstage/plugin-circleci@0.3.24-next.3
+ - @backstage/plugin-cloudbuild@0.3.24-next.3
+ - @backstage/plugin-code-coverage@0.2.17-next.3
+ - @backstage/plugin-cost-insights@0.12.13-next.3
+ - @backstage/plugin-devtools@0.1.4-next.3
+ - @backstage/plugin-dynatrace@7.0.4-next.3
+ - @backstage/plugin-entity-feedback@0.2.7-next.3
+ - @backstage/plugin-explore@0.4.10-next.3
+ - @backstage/plugin-gcalendar@0.3.18-next.3
+ - @backstage/plugin-gcp-projects@0.3.41-next.3
+ - @backstage/plugin-github-actions@0.6.5-next.3
+ - @backstage/plugin-gocd@0.1.30-next.3
+ - @backstage/plugin-jenkins@0.8.6-next.3
+ - @backstage/plugin-kafka@0.3.24-next.3
+ - @backstage/plugin-lighthouse@0.4.9-next.3
+ - @backstage/plugin-linguist@0.1.9-next.3
+ - @backstage/plugin-linguist-common@0.1.2-next.0
+ - @backstage/plugin-microsoft-calendar@0.1.7-next.3
+ - @backstage/plugin-newrelic@0.3.40-next.3
+ - @backstage/plugin-newrelic-dashboard@0.2.17-next.3
+ - @backstage/plugin-octopus-deploy@0.2.6-next.3
+ - @backstage/plugin-org@0.6.14-next.3
+ - @backstage/plugin-pagerduty@0.6.5-next.3
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/plugin-playlist@0.1.16-next.3
+ - @backstage/plugin-puppetdb@0.1.7-next.3
+ - @backstage/plugin-rollbar@0.4.24-next.3
+ - @backstage/plugin-scaffolder@1.15.0-next.3
+ - @backstage/plugin-scaffolder-react@1.5.5-next.3
+ - @backstage/plugin-search@1.4.0-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/plugin-sentry@0.5.9-next.3
+ - @backstage/plugin-shortcuts@0.3.14-next.3
+ - @backstage/plugin-stack-overflow@0.1.20-next.3
+ - @backstage/plugin-stackstorm@0.1.6-next.3
+ - @backstage/plugin-tech-insights@0.3.16-next.3
+ - @backstage/plugin-tech-radar@0.6.8-next.3
+ - @backstage/plugin-techdocs@1.7.0-next.3
+ - @backstage/plugin-techdocs-module-addons-contrib@1.1.0-next.3
+ - @backstage/plugin-techdocs-react@1.1.10-next.3
+ - @backstage/plugin-todo@0.2.26-next.3
+ - @backstage/plugin-user-settings@0.7.9-next.3
+ - @backstage/theme@0.4.2-next.0
+ - app-next-example-plugin@0.0.1-next.0
+ - @internal/plugin-catalog-customized@0.0.14-next.3
+
+## app-next-example-plugin@0.0.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.1.0-next.0
+ - @backstage/core-components@0.13.5-next.3
+
+## example-backend@0.2.87-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-techdocs-backend@1.7.0-next.3
+ - @backstage/plugin-proxy-backend@0.4.0-next.3
+ - @backstage/plugin-adr-backend@0.4.0-next.3
+ - @backstage/plugin-auth-backend@0.19.0-next.3
+ - @backstage/plugin-azure-devops-backend@0.4.0-next.3
+ - @backstage/plugin-badges-backend@0.3.0-next.3
+ - @backstage/plugin-catalog-backend-module-unprocessed@0.3.0-next.3
+ - @backstage/plugin-devtools-backend@0.2.0-next.3
+ - @backstage/plugin-entity-feedback-backend@0.2.0-next.3
+ - @backstage/plugin-kafka-backend@0.3.0-next.3
+ - @backstage/plugin-lighthouse-backend@0.3.0-next.3
+ - @backstage/plugin-linguist-backend@0.5.0-next.3
+ - @backstage/plugin-todo-backend@0.3.0-next.3
+ - @backstage/plugin-app-backend@0.3.51-next.3
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/plugin-events-backend@0.2.12-next.3
+ - @backstage/plugin-kubernetes-backend@0.11.6-next.3
+ - @backstage/plugin-permission-backend@0.5.26-next.3
+ - @backstage/plugin-scaffolder-backend@1.17.0-next.3
+ - @backstage/plugin-search-backend@1.4.3-next.3
+ - @backstage/plugin-search-backend-module-catalog@0.1.7-next.3
+ - @backstage/plugin-search-backend-module-elasticsearch@1.3.6-next.3
+ - @backstage/plugin-search-backend-module-explore@0.1.7-next.3
+ - @backstage/plugin-search-backend-module-pg@0.5.12-next.3
+ - @backstage/plugin-search-backend-module-techdocs@0.1.7-next.3
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.0-next.0
+ - example-app@0.2.87-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-explore-backend@0.0.13-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-azure-sites-backend@0.1.13-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-code-coverage-backend@0.2.17-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+ - @backstage/plugin-graphql-backend@0.1.41-next.3
+ - @backstage/plugin-jenkins-backend@0.2.6-next.3
+ - @backstage/plugin-nomad-backend@0.1.5-next.3
+ - @backstage/plugin-playlist-backend@0.3.7-next.3
+ - @backstage/plugin-rollbar-backend@0.1.48-next.3
+ - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.4-next.3
+ - @backstage/plugin-scaffolder-backend-module-rails@0.4.20-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+ - @backstage/plugin-tech-insights-backend@0.5.17-next.3
+ - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.35-next.3
+ - @backstage/plugin-tech-insights-node@0.4.9-next.3
+
+## example-backend-next@0.0.15-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-techdocs-backend@1.7.0-next.3
+ - @backstage/plugin-proxy-backend@0.4.0-next.3
+ - @backstage/plugin-adr-backend@0.4.0-next.3
+ - @backstage/plugin-azure-devops-backend@0.4.0-next.3
+ - @backstage/plugin-badges-backend@0.3.0-next.3
+ - @backstage/plugin-catalog-backend-module-unprocessed@0.3.0-next.3
+ - @backstage/plugin-devtools-backend@0.2.0-next.3
+ - @backstage/plugin-entity-feedback-backend@0.2.0-next.3
+ - @backstage/plugin-lighthouse-backend@0.3.0-next.3
+ - @backstage/plugin-linguist-backend@0.5.0-next.3
+ - @backstage/plugin-todo-backend@0.3.0-next.3
+ - @backstage/plugin-app-backend@0.3.51-next.3
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/plugin-kubernetes-backend@0.11.6-next.3
+ - @backstage/plugin-permission-backend@0.5.26-next.3
+ - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.0-next.1
+ - @backstage/plugin-scaffolder-backend@1.17.0-next.3
+ - @backstage/plugin-search-backend@1.4.3-next.3
+ - @backstage/plugin-search-backend-module-catalog@0.1.7-next.3
+ - @backstage/plugin-search-backend-module-explore@0.1.7-next.3
+ - @backstage/plugin-search-backend-module-techdocs@0.1.7-next.3
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.0-next.0
+ - @backstage/backend-defaults@0.2.3-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
+## @backstage/backend-plugin-manager@0.0.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/plugin-events-backend@0.2.12-next.3
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/cli-common@0.1.12
+ - @backstage/cli-node@0.1.4-next.0
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
+## e2e-test@0.2.7-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/create-app@0.5.5-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/cli-common@0.1.12
+
+## techdocs-cli-embedded-app@0.2.86-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.22.13-next.3
+ - @backstage/test-utils@1.4.3-next.3
+ - @backstage/app-defaults@1.4.3-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog@1.13.0-next.3
+ - @backstage/plugin-techdocs@1.7.0-next.3
+ - @backstage/plugin-techdocs-react@1.1.10-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @internal/plugin-catalog-customized@0.0.14-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog@1.13.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+
+## @internal/plugin-todo-list@1.0.17-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
+## @internal/plugin-todo-list-backend@1.0.17-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## @internal/plugin-todo-list-common@1.0.13-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.7.8-next.2
diff --git a/microsite/yarn.lock b/microsite/yarn.lock
index b6c948fb6c..b3ec70512f 100644
--- a/microsite/yarn.lock
+++ b/microsite/yarn.lock
@@ -2604,90 +2604,90 @@ __metadata:
languageName: node
linkType: hard
-"@swc/core-darwin-arm64@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-darwin-arm64@npm:1.3.82"
+"@swc/core-darwin-arm64@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-darwin-arm64@npm:1.3.84"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"@swc/core-darwin-x64@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-darwin-x64@npm:1.3.82"
+"@swc/core-darwin-x64@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-darwin-x64@npm:1.3.84"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"@swc/core-linux-arm-gnueabihf@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.82"
+"@swc/core-linux-arm-gnueabihf@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.84"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
-"@swc/core-linux-arm64-gnu@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-arm64-gnu@npm:1.3.82"
+"@swc/core-linux-arm64-gnu@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-arm64-gnu@npm:1.3.84"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
-"@swc/core-linux-arm64-musl@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-arm64-musl@npm:1.3.82"
+"@swc/core-linux-arm64-musl@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-arm64-musl@npm:1.3.84"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
-"@swc/core-linux-x64-gnu@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-x64-gnu@npm:1.3.82"
+"@swc/core-linux-x64-gnu@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-x64-gnu@npm:1.3.84"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
-"@swc/core-linux-x64-musl@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-x64-musl@npm:1.3.82"
+"@swc/core-linux-x64-musl@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-x64-musl@npm:1.3.84"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
-"@swc/core-win32-arm64-msvc@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-win32-arm64-msvc@npm:1.3.82"
+"@swc/core-win32-arm64-msvc@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-win32-arm64-msvc@npm:1.3.84"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
-"@swc/core-win32-ia32-msvc@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-win32-ia32-msvc@npm:1.3.82"
+"@swc/core-win32-ia32-msvc@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-win32-ia32-msvc@npm:1.3.84"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
-"@swc/core-win32-x64-msvc@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-win32-x64-msvc@npm:1.3.82"
+"@swc/core-win32-x64-msvc@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-win32-x64-msvc@npm:1.3.84"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"@swc/core@npm:^1.3.46":
- version: 1.3.82
- resolution: "@swc/core@npm:1.3.82"
+ version: 1.3.84
+ resolution: "@swc/core@npm:1.3.84"
dependencies:
- "@swc/core-darwin-arm64": 1.3.82
- "@swc/core-darwin-x64": 1.3.82
- "@swc/core-linux-arm-gnueabihf": 1.3.82
- "@swc/core-linux-arm64-gnu": 1.3.82
- "@swc/core-linux-arm64-musl": 1.3.82
- "@swc/core-linux-x64-gnu": 1.3.82
- "@swc/core-linux-x64-musl": 1.3.82
- "@swc/core-win32-arm64-msvc": 1.3.82
- "@swc/core-win32-ia32-msvc": 1.3.82
- "@swc/core-win32-x64-msvc": 1.3.82
+ "@swc/core-darwin-arm64": 1.3.84
+ "@swc/core-darwin-x64": 1.3.84
+ "@swc/core-linux-arm-gnueabihf": 1.3.84
+ "@swc/core-linux-arm64-gnu": 1.3.84
+ "@swc/core-linux-arm64-musl": 1.3.84
+ "@swc/core-linux-x64-gnu": 1.3.84
+ "@swc/core-linux-x64-musl": 1.3.84
+ "@swc/core-win32-arm64-msvc": 1.3.84
+ "@swc/core-win32-ia32-msvc": 1.3.84
+ "@swc/core-win32-x64-msvc": 1.3.84
"@swc/types": ^0.1.4
peerDependencies:
"@swc/helpers": ^0.5.0
@@ -2715,7 +2715,7 @@ __metadata:
peerDependenciesMeta:
"@swc/helpers":
optional: true
- checksum: 4c4adbed22071c0af935129a6fe7cc35d1688a5c1a069efdd8c97740930fa7eaf324e75dc88634a4ea0520330f6c88101d5aa5cf7ed6e02d336cc46ee7131ea3
+ checksum: dee45823923c29dde579ed1121c4392c937826d575c87f62399ba7a0b27cacfeb05da97b65cf49a721a50127bb1e22ca5c07defa784ec2a47fed33e3498ef1b9
languageName: node
linkType: hard
diff --git a/package.json b/package.json
index 6711d06f40..0a8007944b 100644
--- a/package.json
+++ b/package.json
@@ -48,7 +48,7 @@
"@types/react": "^17",
"@types/react-dom": "^17"
},
- "version": "1.18.0-next.2",
+ "version": "1.18.0-next.3",
"dependencies": {
"@backstage/errors": "workspace:^",
"@manypkg/get-packages": "^1.1.3"
diff --git a/packages/app-defaults/CHANGELOG.md b/packages/app-defaults/CHANGELOG.md
index 5b267a3105..45947300a9 100644
--- a/packages/app-defaults/CHANGELOG.md
+++ b/packages/app-defaults/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/app-defaults
+## 1.4.3-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 1.4.3-next.2
### Patch Changes
diff --git a/packages/app-defaults/package.json b/packages/app-defaults/package.json
index 12cc333e9f..711f831bad 100644
--- a/packages/app-defaults/package.json
+++ b/packages/app-defaults/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/app-defaults",
"description": "Provides the default wiring of a Backstage App",
- "version": "1.4.3-next.2",
+ "version": "1.4.3-next.3",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
diff --git a/packages/app-next-example-plugin/CHANGELOG.md b/packages/app-next-example-plugin/CHANGELOG.md
new file mode 100644
index 0000000000..9b244b4dd3
--- /dev/null
+++ b/packages/app-next-example-plugin/CHANGELOG.md
@@ -0,0 +1,9 @@
+# app-next-example-plugin
+
+## 0.0.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.1.0-next.0
+ - @backstage/core-components@0.13.5-next.3
diff --git a/packages/app-next-example-plugin/package.json b/packages/app-next-example-plugin/package.json
index 9e5a0d0ee6..258b58fccd 100644
--- a/packages/app-next-example-plugin/package.json
+++ b/packages/app-next-example-plugin/package.json
@@ -1,7 +1,7 @@
{
"name": "app-next-example-plugin",
"description": "Backstage internal example plugin",
- "version": "0.0.0",
+ "version": "0.0.1-next.0",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
diff --git a/packages/app-next/CHANGELOG.md b/packages/app-next/CHANGELOG.md
index 8845db91f2..ebd4891200 100644
--- a/packages/app-next/CHANGELOG.md
+++ b/packages/app-next/CHANGELOG.md
@@ -1,5 +1,82 @@
# example-app-next
+## 0.0.1-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-home@0.5.8-next.3
+ - @backstage/frontend-plugin-api@0.1.0-next.0
+ - @backstage/frontend-app-api@0.1.0-next.0
+ - @backstage/plugin-graphiql@0.2.54-next.3
+ - @backstage/cli@0.22.13-next.3
+ - @backstage/plugin-kubernetes@0.10.3-next.3
+ - @backstage/app-defaults@1.4.3-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-adr@0.6.7-next.3
+ - @backstage/plugin-airbrake@0.3.24-next.3
+ - @backstage/plugin-apache-airflow@0.2.15-next.3
+ - @backstage/plugin-api-docs@0.9.11-next.3
+ - @backstage/plugin-azure-devops@0.3.6-next.3
+ - @backstage/plugin-azure-sites@0.1.13-next.3
+ - @backstage/plugin-badges@0.2.48-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-graph@0.2.36-next.3
+ - @backstage/plugin-catalog-import@0.9.14-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-catalog-unprocessed-entities@0.1.3-next.3
+ - @backstage/plugin-circleci@0.3.24-next.3
+ - @backstage/plugin-cloudbuild@0.3.24-next.3
+ - @backstage/plugin-code-coverage@0.2.17-next.3
+ - @backstage/plugin-cost-insights@0.12.13-next.3
+ - @backstage/plugin-devtools@0.1.4-next.3
+ - @backstage/plugin-dynatrace@7.0.4-next.3
+ - @backstage/plugin-entity-feedback@0.2.7-next.3
+ - @backstage/plugin-explore@0.4.10-next.3
+ - @backstage/plugin-gcalendar@0.3.18-next.3
+ - @backstage/plugin-gcp-projects@0.3.41-next.3
+ - @backstage/plugin-github-actions@0.6.5-next.3
+ - @backstage/plugin-gocd@0.1.30-next.3
+ - @backstage/plugin-jenkins@0.8.6-next.3
+ - @backstage/plugin-kafka@0.3.24-next.3
+ - @backstage/plugin-lighthouse@0.4.9-next.3
+ - @backstage/plugin-linguist@0.1.9-next.3
+ - @backstage/plugin-linguist-common@0.1.2-next.0
+ - @backstage/plugin-microsoft-calendar@0.1.7-next.3
+ - @backstage/plugin-newrelic@0.3.40-next.3
+ - @backstage/plugin-newrelic-dashboard@0.2.17-next.3
+ - @backstage/plugin-octopus-deploy@0.2.6-next.3
+ - @backstage/plugin-org@0.6.14-next.3
+ - @backstage/plugin-pagerduty@0.6.5-next.3
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/plugin-playlist@0.1.16-next.3
+ - @backstage/plugin-puppetdb@0.1.7-next.3
+ - @backstage/plugin-rollbar@0.4.24-next.3
+ - @backstage/plugin-scaffolder@1.15.0-next.3
+ - @backstage/plugin-scaffolder-react@1.5.5-next.3
+ - @backstage/plugin-search@1.4.0-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/plugin-sentry@0.5.9-next.3
+ - @backstage/plugin-shortcuts@0.3.14-next.3
+ - @backstage/plugin-stack-overflow@0.1.20-next.3
+ - @backstage/plugin-stackstorm@0.1.6-next.3
+ - @backstage/plugin-tech-insights@0.3.16-next.3
+ - @backstage/plugin-tech-radar@0.6.8-next.3
+ - @backstage/plugin-techdocs@1.7.0-next.3
+ - @backstage/plugin-techdocs-module-addons-contrib@1.1.0-next.3
+ - @backstage/plugin-techdocs-react@1.1.10-next.3
+ - @backstage/plugin-todo@0.2.26-next.3
+ - @backstage/plugin-user-settings@0.7.9-next.3
+ - @backstage/theme@0.4.2-next.0
+ - app-next-example-plugin@0.0.1-next.0
+ - @internal/plugin-catalog-customized@0.0.14-next.3
+
## 0.0.1-next.1
### Patch Changes
diff --git a/packages/app-next/app-config.yaml b/packages/app-next/app-config.yaml
index c94d900b21..a97c52f40f 100644
--- a/packages/app-next/app-config.yaml
+++ b/packages/app-next/app-config.yaml
@@ -2,6 +2,8 @@ app:
experimental:
packages: 'all' # ✨
+ extensions:
+ - apis.plugin.graphiql.browse.gitlab: true
# scmAuthExtension: >-
# createScmAuthExtension({
diff --git a/packages/app-next/package.json b/packages/app-next/package.json
index 2775fe8208..e9897fd348 100644
--- a/packages/app-next/package.json
+++ b/packages/app-next/package.json
@@ -1,6 +1,6 @@
{
"name": "example-app-next",
- "version": "0.0.1-next.1",
+ "version": "0.0.1-next.2",
"private": true,
"backstage": {
"role": "frontend"
diff --git a/packages/app-next/src/App.test.tsx b/packages/app-next/src/App.test.tsx
index 047c9821b5..b3cef58fe1 100644
--- a/packages/app-next/src/App.test.tsx
+++ b/packages/app-next/src/App.test.tsx
@@ -14,9 +14,13 @@
* limitations under the License.
*/
-import React from 'react';
import { renderWithEffects } from '@backstage/test-utils';
+jest.mock('@backstage/plugin-graphiql', () => ({
+ ...jest.requireActual('@backstage/plugin-graphiql'),
+ GraphiQLIcon: () => null,
+}));
+
describe('App', () => {
it('should render', async () => {
process.env = {
@@ -41,8 +45,8 @@ describe('App', () => {
] as any,
};
- const { default: App } = await import('./App');
- const rendered = await renderWithEffects();
+ const { default: app } = await import('./App');
+ const rendered = await renderWithEffects(app);
expect(rendered.baseElement).toBeInTheDocument();
});
});
diff --git a/packages/app-next/src/App.tsx b/packages/app-next/src/App.tsx
index 0452cc3709..aa9bb985c2 100644
--- a/packages/app-next/src/App.tsx
+++ b/packages/app-next/src/App.tsx
@@ -14,8 +14,6 @@
* limitations under the License.
*/
-import { graphiqlPlugin as legacyGraphiqlPlugin } from '@backstage/plugin-graphiql';
-import { createApp as createLegacyApp } from '@backstage/app-defaults';
import { createApp } from '@backstage/frontend-app-api';
import { pagesPlugin } from './examples/pagesPlugin';
import graphiqlPlugin from '@backstage/plugin-graphiql/alpha';
@@ -61,9 +59,9 @@ const app = createApp({
// },
});
-const legacyApp = createLegacyApp({ plugins: [legacyGraphiqlPlugin] });
+// const legacyApp = createLegacyApp({ plugins: [legacyGraphiqlPlugin] });
-export default legacyApp.createRoot(app.createRoot());
+export default app.createRoot();
// const routes = (
//
diff --git a/packages/app-next/src/index.tsx b/packages/app-next/src/index.tsx
index b15bc4c102..3c354b06d0 100644
--- a/packages/app-next/src/index.tsx
+++ b/packages/app-next/src/index.tsx
@@ -15,8 +15,7 @@
*/
import '@backstage/cli/asset-types';
-import React from 'react';
import ReactDOM from 'react-dom';
-import App from './App';
+import app from './App';
-ReactDOM.render(, document.getElementById('root'));
+ReactDOM.render(app, document.getElementById('root'));
diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md
index 6ed7929e6d..28bda23989 100644
--- a/packages/app/CHANGELOG.md
+++ b/packages/app/CHANGELOG.md
@@ -1,5 +1,80 @@
# example-app
+## 0.2.87-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-home@0.5.8-next.3
+ - @backstage/plugin-graphiql@0.2.54-next.3
+ - @backstage/cli@0.22.13-next.3
+ - @backstage/plugin-kubernetes@0.10.3-next.3
+ - @backstage/app-defaults@1.4.3-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-adr@0.6.7-next.3
+ - @backstage/plugin-airbrake@0.3.24-next.3
+ - @backstage/plugin-apache-airflow@0.2.15-next.3
+ - @backstage/plugin-api-docs@0.9.11-next.3
+ - @backstage/plugin-azure-devops@0.3.6-next.3
+ - @backstage/plugin-azure-sites@0.1.13-next.3
+ - @backstage/plugin-badges@0.2.48-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-graph@0.2.36-next.3
+ - @backstage/plugin-catalog-import@0.9.14-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-catalog-unprocessed-entities@0.1.3-next.3
+ - @backstage/plugin-circleci@0.3.24-next.3
+ - @backstage/plugin-cloudbuild@0.3.24-next.3
+ - @backstage/plugin-code-coverage@0.2.17-next.3
+ - @backstage/plugin-cost-insights@0.12.13-next.3
+ - @backstage/plugin-devtools@0.1.4-next.3
+ - @backstage/plugin-dynatrace@7.0.4-next.3
+ - @backstage/plugin-entity-feedback@0.2.7-next.3
+ - @backstage/plugin-explore@0.4.10-next.3
+ - @backstage/plugin-gcalendar@0.3.18-next.3
+ - @backstage/plugin-gcp-projects@0.3.41-next.3
+ - @backstage/plugin-github-actions@0.6.5-next.3
+ - @backstage/plugin-gocd@0.1.30-next.3
+ - @backstage/plugin-jenkins@0.8.6-next.3
+ - @backstage/plugin-kafka@0.3.24-next.3
+ - @backstage/plugin-lighthouse@0.4.9-next.3
+ - @backstage/plugin-linguist@0.1.9-next.3
+ - @backstage/plugin-linguist-common@0.1.2-next.0
+ - @backstage/plugin-microsoft-calendar@0.1.7-next.3
+ - @backstage/plugin-newrelic@0.3.40-next.3
+ - @backstage/plugin-newrelic-dashboard@0.2.17-next.3
+ - @backstage/plugin-nomad@0.1.5-next.3
+ - @backstage/plugin-octopus-deploy@0.2.6-next.3
+ - @backstage/plugin-org@0.6.14-next.3
+ - @backstage/plugin-pagerduty@0.6.5-next.3
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/plugin-playlist@0.1.16-next.3
+ - @backstage/plugin-puppetdb@0.1.7-next.3
+ - @backstage/plugin-rollbar@0.4.24-next.3
+ - @backstage/plugin-scaffolder@1.15.0-next.3
+ - @backstage/plugin-scaffolder-react@1.5.5-next.3
+ - @backstage/plugin-search@1.4.0-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/plugin-sentry@0.5.9-next.3
+ - @backstage/plugin-shortcuts@0.3.14-next.3
+ - @backstage/plugin-stack-overflow@0.1.20-next.3
+ - @backstage/plugin-stackstorm@0.1.6-next.3
+ - @backstage/plugin-tech-insights@0.3.16-next.3
+ - @backstage/plugin-tech-radar@0.6.8-next.3
+ - @backstage/plugin-techdocs@1.7.0-next.3
+ - @backstage/plugin-techdocs-module-addons-contrib@1.1.0-next.3
+ - @backstage/plugin-techdocs-react@1.1.10-next.3
+ - @backstage/plugin-todo@0.2.26-next.3
+ - @backstage/plugin-user-settings@0.7.9-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @internal/plugin-catalog-customized@0.0.14-next.3
+
## 0.2.87-next.2
### Patch Changes
diff --git a/packages/app/package.json b/packages/app/package.json
index 52e7a295a1..f019199bff 100644
--- a/packages/app/package.json
+++ b/packages/app/package.json
@@ -1,6 +1,6 @@
{
"name": "example-app",
- "version": "0.2.87-next.2",
+ "version": "0.2.87-next.3",
"private": true,
"backstage": {
"role": "frontend"
diff --git a/packages/backend-app-api/CHANGELOG.md b/packages/backend-app-api/CHANGELOG.md
index e53e5d273d..390103ae91 100644
--- a/packages/backend-app-api/CHANGELOG.md
+++ b/packages/backend-app-api/CHANGELOG.md
@@ -1,5 +1,25 @@
# @backstage/backend-app-api
+## 0.5.3-next.3
+
+### Patch Changes
+
+- 154632d8753b: Add support for discovering additional service factories during startup.
+- cb7fc410ed99: The experimental backend feature discovery now only considers default exports from packages. It no longer filters packages to include based on the package role, except that `'cli'` packages are ignored. However, the `"backstage"` field is still required in `package.json`.
+- 3b30b179cb38: Add support for installing features as package imports, for example `backend.add(import('my-plugin'))`.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/cli-common@0.1.12
+ - @backstage/cli-node@0.1.4-next.0
+ - @backstage/config-loader@1.5.0-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.5.3-next.2
### Patch Changes
diff --git a/packages/backend-app-api/package.json b/packages/backend-app-api/package.json
index 3bd12759f2..46d5e9e4f4 100644
--- a/packages/backend-app-api/package.json
+++ b/packages/backend-app-api/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-app-api",
"description": "Core API used by Backstage backend apps",
- "version": "0.5.3-next.2",
+ "version": "0.5.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
diff --git a/packages/backend-common/CHANGELOG.md b/packages/backend-common/CHANGELOG.md
index 2d4c3cd4d9..fb425e0c97 100644
--- a/packages/backend-common/CHANGELOG.md
+++ b/packages/backend-common/CHANGELOG.md
@@ -1,5 +1,21 @@
# @backstage/backend-common
+## 0.19.5-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.3-next.3
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-dev-utils@0.1.1
+ - @backstage/cli-common@0.1.12
+ - @backstage/config-loader@1.5.0-next.3
+ - @backstage/integration-aws-node@0.1.6-next.2
+
## 0.19.5-next.2
### Patch Changes
diff --git a/packages/backend-common/package.json b/packages/backend-common/package.json
index bb9427da51..3e7d0f0f4d 100644
--- a/packages/backend-common/package.json
+++ b/packages/backend-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-common",
"description": "Common functionality library for Backstage backends",
- "version": "0.19.5-next.2",
+ "version": "0.19.5-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
diff --git a/packages/backend-defaults/CHANGELOG.md b/packages/backend-defaults/CHANGELOG.md
index 3176a34528..a09255c269 100644
--- a/packages/backend-defaults/CHANGELOG.md
+++ b/packages/backend-defaults/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/backend-defaults
+## 0.2.3-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.3-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.2.3-next.2
### Patch Changes
diff --git a/packages/backend-defaults/package.json b/packages/backend-defaults/package.json
index bdbbd26d3b..e4d62b311c 100644
--- a/packages/backend-defaults/package.json
+++ b/packages/backend-defaults/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-defaults",
"description": "Backend defaults used by Backstage backend apps",
- "version": "0.2.3-next.2",
+ "version": "0.2.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
diff --git a/packages/backend-next/CHANGELOG.md b/packages/backend-next/CHANGELOG.md
index a7b2fb8b33..980569a9b6 100644
--- a/packages/backend-next/CHANGELOG.md
+++ b/packages/backend-next/CHANGELOG.md
@@ -1,5 +1,40 @@
# example-backend-next
+## 0.0.15-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-techdocs-backend@1.7.0-next.3
+ - @backstage/plugin-proxy-backend@0.4.0-next.3
+ - @backstage/plugin-adr-backend@0.4.0-next.3
+ - @backstage/plugin-azure-devops-backend@0.4.0-next.3
+ - @backstage/plugin-badges-backend@0.3.0-next.3
+ - @backstage/plugin-catalog-backend-module-unprocessed@0.3.0-next.3
+ - @backstage/plugin-devtools-backend@0.2.0-next.3
+ - @backstage/plugin-entity-feedback-backend@0.2.0-next.3
+ - @backstage/plugin-lighthouse-backend@0.3.0-next.3
+ - @backstage/plugin-linguist-backend@0.5.0-next.3
+ - @backstage/plugin-todo-backend@0.3.0-next.3
+ - @backstage/plugin-app-backend@0.3.51-next.3
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/plugin-kubernetes-backend@0.11.6-next.3
+ - @backstage/plugin-permission-backend@0.5.26-next.3
+ - @backstage/plugin-permission-backend-module-allow-all-policy@0.1.0-next.1
+ - @backstage/plugin-scaffolder-backend@1.17.0-next.3
+ - @backstage/plugin-search-backend@1.4.3-next.3
+ - @backstage/plugin-search-backend-module-catalog@0.1.7-next.3
+ - @backstage/plugin-search-backend-module-explore@0.1.7-next.3
+ - @backstage/plugin-search-backend-module-techdocs@0.1.7-next.3
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.0-next.0
+ - @backstage/backend-defaults@0.2.3-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
## 0.0.15-next.2
### Patch Changes
diff --git a/packages/backend-next/package.json b/packages/backend-next/package.json
index 9b726fb307..edda247a5a 100644
--- a/packages/backend-next/package.json
+++ b/packages/backend-next/package.json
@@ -1,6 +1,6 @@
{
"name": "example-backend-next",
- "version": "0.0.15-next.2",
+ "version": "0.0.15-next.3",
"main": "dist/index.cjs.js",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,6 +34,7 @@
"@backstage/plugin-azure-devops-backend": "workspace:^",
"@backstage/plugin-badges-backend": "workspace:^",
"@backstage/plugin-catalog-backend": "workspace:^",
+ "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "workspace:^",
"@backstage/plugin-catalog-backend-module-unprocessed": "workspace:^",
"@backstage/plugin-devtools-backend": "workspace:^",
"@backstage/plugin-entity-feedback-backend": "workspace:^",
diff --git a/packages/backend-next/src/index.ts b/packages/backend-next/src/index.ts
index cf7734c089..4e99732a11 100644
--- a/packages/backend-next/src/index.ts
+++ b/packages/backend-next/src/index.ts
@@ -23,6 +23,9 @@ backend.add(import('@backstage/plugin-app-backend/alpha'));
backend.add(import('@backstage/plugin-azure-devops-backend'));
backend.add(import('@backstage/plugin-badges-backend'));
backend.add(import('@backstage/plugin-catalog-backend-module-unprocessed'));
+backend.add(
+ import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'),
+);
backend.add(import('@backstage/plugin-catalog-backend/alpha'));
backend.add(import('@backstage/plugin-devtools-backend'));
backend.add(import('@backstage/plugin-entity-feedback-backend'));
diff --git a/packages/backend-openapi-utils/CHANGELOG.md b/packages/backend-openapi-utils/CHANGELOG.md
index fc3e52fa92..f94fc1e1e8 100644
--- a/packages/backend-openapi-utils/CHANGELOG.md
+++ b/packages/backend-openapi-utils/CHANGELOG.md
@@ -1,5 +1,12 @@
# @backstage/backend-openapi-utils
+## 0.0.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.2.2-next.0
+
## 0.0.3
### Patch Changes
diff --git a/packages/backend-openapi-utils/package.json b/packages/backend-openapi-utils/package.json
index 102d8c36d6..f6441e3864 100644
--- a/packages/backend-openapi-utils/package.json
+++ b/packages/backend-openapi-utils/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-openapi-utils",
"description": "OpenAPI typescript support.",
- "version": "0.0.3",
+ "version": "0.0.4-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/packages/backend-plugin-api/CHANGELOG.md b/packages/backend-plugin-api/CHANGELOG.md
index 678f05a787..49ddc69c33 100644
--- a/packages/backend-plugin-api/CHANGELOG.md
+++ b/packages/backend-plugin-api/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/backend-plugin-api
+## 0.6.3-next.3
+
+### Patch Changes
+
+- ba4506076e2d: Ensure that root scoped services cannot accept (at a type level) plugin scoped deps
+- 474b792d6a43: Service factory functions are now marked as feature factories that can be installed in the backend.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.6.3-next.2
### Patch Changes
diff --git a/packages/backend-plugin-api/package.json b/packages/backend-plugin-api/package.json
index 8e160f9311..57b877e1c7 100644
--- a/packages/backend-plugin-api/package.json
+++ b/packages/backend-plugin-api/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-plugin-api",
"description": "Core API used by Backstage backend plugins",
- "version": "0.6.3-next.2",
+ "version": "0.6.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
diff --git a/packages/backend-plugin-manager/CHANGELOG.md b/packages/backend-plugin-manager/CHANGELOG.md
index 7822f30008..3218866414 100644
--- a/packages/backend-plugin-manager/CHANGELOG.md
+++ b/packages/backend-plugin-manager/CHANGELOG.md
@@ -1,5 +1,28 @@
# @backstage/backend-plugin-manager
+## 0.0.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/plugin-events-backend@0.2.12-next.3
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/cli-common@0.1.12
+ - @backstage/cli-node@0.1.4-next.0
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
## 0.0.1-next.0
### Patch Changes
diff --git a/packages/backend-plugin-manager/package.json b/packages/backend-plugin-manager/package.json
index f98ab5270a..bba0793cce 100644
--- a/packages/backend-plugin-manager/package.json
+++ b/packages/backend-plugin-manager/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-plugin-manager",
"description": "Backstage plugin management backend",
- "version": "0.0.1-next.0",
+ "version": "0.0.1-next.1",
"private": true,
"main": "src/index.ts",
"types": "src/index.ts",
diff --git a/packages/backend-tasks/CHANGELOG.md b/packages/backend-tasks/CHANGELOG.md
index f3cd349f9f..cb995f8e05 100644
--- a/packages/backend-tasks/CHANGELOG.md
+++ b/packages/backend-tasks/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/backend-tasks
+## 0.5.8-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.5.8-next.2
### Patch Changes
diff --git a/packages/backend-tasks/package.json b/packages/backend-tasks/package.json
index ecc4bf3d35..10d07dbb40 100644
--- a/packages/backend-tasks/package.json
+++ b/packages/backend-tasks/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-tasks",
"description": "Common distributed task management library for Backstage backends",
- "version": "0.5.8-next.2",
+ "version": "0.5.8-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
diff --git a/packages/backend-test-utils/CHANGELOG.md b/packages/backend-test-utils/CHANGELOG.md
index ea0ffee7c8..d6cde7697b 100644
--- a/packages/backend-test-utils/CHANGELOG.md
+++ b/packages/backend-test-utils/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/backend-test-utils
+## 0.2.3-next.3
+
+### Patch Changes
+
+- 202e52c5e361: Add support for installing backend features via module imports, for example `startTestBackend({ features: [import('my-plugin')] })`.
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.3-next.3
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.2.3-next.2
### Patch Changes
diff --git a/packages/backend-test-utils/package.json b/packages/backend-test-utils/package.json
index 8cdbcc7aca..1ee0522b01 100644
--- a/packages/backend-test-utils/package.json
+++ b/packages/backend-test-utils/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/backend-test-utils",
"description": "Test helpers library for Backstage backends",
- "version": "0.2.3-next.2",
+ "version": "0.2.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
diff --git a/packages/backend/CHANGELOG.md b/packages/backend/CHANGELOG.md
index 6c3dfcf2fd..c0bf093f05 100644
--- a/packages/backend/CHANGELOG.md
+++ b/packages/backend/CHANGELOG.md
@@ -1,5 +1,64 @@
# example-backend
+## 0.2.87-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-techdocs-backend@1.7.0-next.3
+ - @backstage/plugin-proxy-backend@0.4.0-next.3
+ - @backstage/plugin-adr-backend@0.4.0-next.3
+ - @backstage/plugin-auth-backend@0.19.0-next.3
+ - @backstage/plugin-azure-devops-backend@0.4.0-next.3
+ - @backstage/plugin-badges-backend@0.3.0-next.3
+ - @backstage/plugin-catalog-backend-module-unprocessed@0.3.0-next.3
+ - @backstage/plugin-devtools-backend@0.2.0-next.3
+ - @backstage/plugin-entity-feedback-backend@0.2.0-next.3
+ - @backstage/plugin-kafka-backend@0.3.0-next.3
+ - @backstage/plugin-lighthouse-backend@0.3.0-next.3
+ - @backstage/plugin-linguist-backend@0.5.0-next.3
+ - @backstage/plugin-todo-backend@0.3.0-next.3
+ - @backstage/plugin-app-backend@0.3.51-next.3
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/plugin-events-backend@0.2.12-next.3
+ - @backstage/plugin-kubernetes-backend@0.11.6-next.3
+ - @backstage/plugin-permission-backend@0.5.26-next.3
+ - @backstage/plugin-scaffolder-backend@1.17.0-next.3
+ - @backstage/plugin-search-backend@1.4.3-next.3
+ - @backstage/plugin-search-backend-module-catalog@0.1.7-next.3
+ - @backstage/plugin-search-backend-module-elasticsearch@1.3.6-next.3
+ - @backstage/plugin-search-backend-module-explore@0.1.7-next.3
+ - @backstage/plugin-search-backend-module-pg@0.5.12-next.3
+ - @backstage/plugin-search-backend-module-techdocs@0.1.7-next.3
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.0-next.0
+ - example-app@0.2.87-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-explore-backend@0.0.13-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-azure-sites-backend@0.1.13-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-code-coverage-backend@0.2.17-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+ - @backstage/plugin-graphql-backend@0.1.41-next.3
+ - @backstage/plugin-jenkins-backend@0.2.6-next.3
+ - @backstage/plugin-nomad-backend@0.1.5-next.3
+ - @backstage/plugin-playlist-backend@0.3.7-next.3
+ - @backstage/plugin-rollbar-backend@0.1.48-next.3
+ - @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.2.4-next.3
+ - @backstage/plugin-scaffolder-backend-module-rails@0.4.20-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+ - @backstage/plugin-tech-insights-backend@0.5.17-next.3
+ - @backstage/plugin-tech-insights-backend-module-jsonfc@0.1.35-next.3
+ - @backstage/plugin-tech-insights-node@0.4.9-next.3
+
## 0.2.87-next.2
### Patch Changes
diff --git a/packages/backend/package.json b/packages/backend/package.json
index d7f8a9c403..7ff8845ed6 100644
--- a/packages/backend/package.json
+++ b/packages/backend/package.json
@@ -1,6 +1,6 @@
{
"name": "example-backend",
- "version": "0.2.87-next.2",
+ "version": "0.2.87-next.3",
"main": "dist/index.cjs.js",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -40,6 +40,7 @@
"@backstage/plugin-azure-sites-backend": "workspace:^",
"@backstage/plugin-badges-backend": "workspace:^",
"@backstage/plugin-catalog-backend": "workspace:^",
+ "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "workspace:^",
"@backstage/plugin-catalog-backend-module-unprocessed": "workspace:^",
"@backstage/plugin-catalog-node": "workspace:^",
"@backstage/plugin-code-coverage-backend": "workspace:^",
diff --git a/packages/backend/src/plugins/catalog.ts b/packages/backend/src/plugins/catalog.ts
index 7afd0a0cb7..223acab818 100644
--- a/packages/backend/src/plugins/catalog.ts
+++ b/packages/backend/src/plugins/catalog.ts
@@ -15,11 +15,11 @@
*/
import { CatalogBuilder } from '@backstage/plugin-catalog-backend';
-import { ScaffolderEntitiesProcessor } from '@backstage/plugin-scaffolder-backend';
+import { ScaffolderEntitiesProcessor } from '@backstage/plugin-catalog-backend-module-scaffolder-entity-model';
+import { UnprocessedEntitiesModule } from '@backstage/plugin-catalog-backend-module-unprocessed';
import { Router } from 'express';
import { PluginEnvironment } from '../types';
import { DemoEventBasedEntityProvider } from './DemoEventBasedEntityProvider';
-import { UnprocessedEntitiesModule } from '@backstage/plugin-catalog-backend-module-unprocessed';
export default async function createPlugin(
env: PluginEnvironment,
diff --git a/packages/catalog-client/CHANGELOG.md b/packages/catalog-client/CHANGELOG.md
index d544c25244..14af941a8f 100644
--- a/packages/catalog-client/CHANGELOG.md
+++ b/packages/catalog-client/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/catalog-client
+## 1.4.4-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/errors@1.2.2-next.0
+
## 1.4.4-next.1
### Patch Changes
diff --git a/packages/catalog-client/package.json b/packages/catalog-client/package.json
index 91f90e8928..e1604976ae 100644
--- a/packages/catalog-client/package.json
+++ b/packages/catalog-client/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/catalog-client",
"description": "An isomorphic client for the catalog backend",
- "version": "1.4.4-next.1",
+ "version": "1.4.4-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/packages/catalog-model/CHANGELOG.md b/packages/catalog-model/CHANGELOG.md
index 4e07318bf7..628d080280 100644
--- a/packages/catalog-model/CHANGELOG.md
+++ b/packages/catalog-model/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/catalog-model
+## 1.4.2-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+
## 1.4.2-next.1
### Patch Changes
diff --git a/packages/catalog-model/package.json b/packages/catalog-model/package.json
index 536fee0893..bf37cc107f 100644
--- a/packages/catalog-model/package.json
+++ b/packages/catalog-model/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/catalog-model",
"description": "Types and validators that help describe the model of a Backstage Catalog",
- "version": "1.4.2-next.1",
+ "version": "1.4.2-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/packages/cli-node/CHANGELOG.md b/packages/cli-node/CHANGELOG.md
index 8a7af72d8d..f008ec556f 100644
--- a/packages/cli-node/CHANGELOG.md
+++ b/packages/cli-node/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/cli-node
+## 0.1.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/cli-common@0.1.12
+
## 0.1.3
### Patch Changes
diff --git a/packages/cli-node/package.json b/packages/cli-node/package.json
index 589139a141..084123ff5c 100644
--- a/packages/cli-node/package.json
+++ b/packages/cli-node/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/cli-node",
"description": "Node.js library for Backstage CLIs",
- "version": "0.1.3",
+ "version": "0.1.4-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md
index dd4a35df94..0ad4278b2e 100644
--- a/packages/cli/CHANGELOG.md
+++ b/packages/cli/CHANGELOG.md
@@ -1,5 +1,28 @@
# @backstage/cli
+## 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
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 604832ed89..6229432f91 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/cli",
"description": "CLI for developing Backstage plugins and apps",
- "version": "0.22.13-next.2",
+ "version": "0.22.13-next.3",
"publishConfig": {
"access": "public"
},
diff --git a/packages/cli/src/commands/fix.ts b/packages/cli/src/commands/fix.ts
deleted file mode 100644
index 263d171fd6..0000000000
--- a/packages/cli/src/commands/fix.ts
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright 2020 The Backstage Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { paths } from '../lib/paths';
-import { ESLint } from 'eslint';
-import { join as joinPath, basename } from 'path';
-import fs from 'fs-extra';
-import { isChildPath } from '@backstage/cli-common';
-import { PackageGraph } from '@backstage/cli-node';
-
-function isTestPath(filePath: string) {
- if (!isChildPath(joinPath(paths.targetDir, 'src'), filePath)) {
- return true;
- }
- const name = basename(filePath);
- return (
- name.startsWith('setupTests.') ||
- name.includes('.test.') ||
- name.includes('.stories.')
- );
-}
-
-export async function command() {
- const pkgJsonPath = paths.resolveTarget('package.json');
- const pkg = await fs.readJson(pkgJsonPath);
- if (pkg.workspaces) {
- throw new Error(
- 'Adding dependencies to the workspace root is not supported',
- );
- }
-
- const packages = await PackageGraph.listTargetPackages();
- const localPackageVersions = new Map(
- packages.map(p => [p.packageJson.name, p.packageJson.version]),
- );
-
- const eslint = new ESLint({
- cwd: paths.targetDir,
- overrideConfig: {
- plugins: ['monorepo'],
- rules: {
- 'import/no-extraneous-dependencies': [
- 'error',
- {
- devDependencies: [
- `!${joinPath(paths.targetDir, 'src/**')}`,
- joinPath(paths.targetDir, 'src/**/*.test.*'),
- joinPath(paths.targetDir, 'src/**/*.stories.*'),
- joinPath(paths.targetDir, 'src/setupTests.*'),
- ],
- optionalDependencies: true,
- peerDependencies: true,
- bundledDependencies: true,
- },
- ],
- },
- },
- extensions: ['jsx', 'ts', 'tsx', 'mjs', 'cjs'],
- });
-
- const results = await eslint.lintFiles(['.']);
-
- const addedDeps = new Set();
- const addedDevDeps = new Set();
- const removedDevDeps = new Set();
-
- for (const result of results) {
- for (const message of result.messages) {
- // Just in case
- if (message.ruleId !== 'import/no-extraneous-dependencies') {
- continue;
- }
-
- const match = message.message.match(/^'([^']*)' should be listed/);
- if (!match) {
- continue;
- }
- const packageName = match[1];
- if (!localPackageVersions.has(packageName)) {
- continue;
- }
-
- if (message.message.endsWith('not devDependencies.')) {
- addedDeps.add(packageName);
- removedDevDeps.add(packageName);
- } else if (isTestPath(result.filePath)) {
- addedDevDeps.add(packageName);
- } else {
- addedDeps.add(packageName);
- }
- }
- }
-
- if (addedDeps.size || addedDevDeps.size || removedDevDeps.size) {
- for (const name of addedDeps) {
- if (!pkg.dependencies) {
- pkg.dependencies = {};
- }
- pkg.dependencies[name] = `^${localPackageVersions.get(name)}`;
- }
- for (const name of addedDevDeps) {
- if (!pkg.devDependencies) {
- pkg.devDependencies = {};
- }
- pkg.devDependencies[name] = `^${localPackageVersions.get(name)}`;
- }
- for (const name of removedDevDeps) {
- delete pkg.devDependencies[name];
- }
- if (Object.keys(pkg.devDependencies).length === 0) {
- delete pkg.devDependencies;
- }
-
- if (pkg.dependencies) {
- pkg.dependencies = Object.fromEntries(
- Object.entries(pkg.dependencies).sort(([a], [b]) => a.localeCompare(b)),
- );
- }
- if (pkg.devDependencies) {
- pkg.devDependencies = Object.fromEntries(
- Object.entries(pkg.devDependencies).sort(([a], [b]) =>
- a.localeCompare(b),
- ),
- );
- }
-
- await fs.writeJson(pkgJsonPath, pkg, { spaces: 2 });
- }
-}
diff --git a/packages/cli/src/commands/index.ts b/packages/cli/src/commands/index.ts
index 651b853c5d..ce4a4d2bae 100644
--- a/packages/cli/src/commands/index.ts
+++ b/packages/cli/src/commands/index.ts
@@ -168,12 +168,6 @@ export function registerScriptCommand(program: Command) {
.description('Run tests, forwarding args to Jest, defaulting to watch mode')
.action(lazy(() => import('./test').then(m => m.default)));
- command
- .command('fix', { hidden: true })
- .description('Applies automated fixes to the package. [EXPERIMENTAL]')
- .option('--deps', 'Only fix monorepo dependencies in package.json')
- .action(lazy(() => import('./fix').then(m => m.command)));
-
command
.command('clean')
.description('Delete cache directories')
diff --git a/packages/cli/src/commands/versions/bump.test.ts b/packages/cli/src/commands/versions/bump.test.ts
index 9e5288677d..84019b55ee 100644
--- a/packages/cli/src/commands/versions/bump.test.ts
+++ b/packages/cli/src/commands/versions/bump.test.ts
@@ -29,6 +29,7 @@ import { YarnInfoInspectData } from '../../lib/versioning/packages';
import { setupServer } from 'msw/node';
import { rest } from 'msw';
import { NotFoundError } from '@backstage/errors';
+import { Lockfile } from '../../lib/versioning/Lockfile';
// Remove log coloring to simplify log matching
jest.mock('chalk', () => ({
@@ -224,7 +225,7 @@ describe('bump', () => {
});
});
- it('should bump backstage dependencies but not them installed', async () => {
+ it('should bump backstage dependencies but not install them', async () => {
mockFs({
'/yarn.lock': lockfileMock,
'/package.json': JSON.stringify({
@@ -453,68 +454,36 @@ describe('bump', () => {
jest.spyOn(runObj, 'run').mockResolvedValue(undefined);
worker.use(
rest.get(
- 'https://versions.backstage.io/v1/releases/1.0.0/manifest.json',
- (_, res, ctx) =>
- res(
- ctx.status(200),
- ctx.json({
- releaseVersion: '2.0.0',
- packages: [
- { name: '@backstage/core', version: '5.0.0' },
- { name: '@backstage/core-api', version: '5.0.0' },
- ],
- }),
- ),
+ 'https://versions.backstage.io/v1/releases/999.0.1/manifest.json',
+ (_, res, ctx) => res(ctx.status(404), ctx.json({})),
),
);
const { log: logs } = await withLogCollector(['log'], async () => {
await expect(
- bump({ pattern: null, release: '1.0.0' } as unknown as Command),
- ).rejects.toThrow('Duplicate versions present after package bump');
+ bump({ pattern: null, release: '999.0.1' } as unknown as Command),
+ ).rejects.toThrow('No release found for 999.0.1 version');
});
expect(logs.filter(Boolean)).toEqual([
'Using default pattern glob @backstage/*',
- 'Checking for updates of @backstage/core',
- 'Checking for updates of @backstage/theme',
- 'Package info not found, ignoring package @backstage/theme',
- 'Checking for updates of @backstage/core',
- 'Checking for updates of @backstage/theme',
- 'Checking for updates of @backstage/core-api',
- 'Package info not found, ignoring package @backstage/theme',
- 'Some packages are outdated, updating',
- 'bumping @backstage/core in a to ^5.0.0',
- 'bumping @backstage/core in b to ^5.0.0',
- 'Your project is now at version 2.0.0, which has been written to backstage.json',
- 'Running yarn install to install new versions',
- '⚠️ The following packages may have breaking changes:',
- ' @backstage/core : 1.0.3 ~> 5.0.0',
- ' https://github.com/backstage/backstage/blob/master/packages/core/CHANGELOG.md',
- 'Version bump complete!',
]);
- expect(runObj.run).toHaveBeenCalledTimes(1);
- expect(runObj.run).toHaveBeenCalledWith(
- 'yarn',
- ['install'],
- expect.any(Object),
- );
+ expect(runObj.run).toHaveBeenCalledTimes(0);
const packageA = await fs.readJson('/packages/a/package.json');
expect(packageA).toEqual({
name: 'a',
dependencies: {
- '@backstage/core': '^5.0.0',
+ '@backstage/core': '^1.0.5',
},
});
const packageB = await fs.readJson('/packages/b/package.json');
expect(packageB).toEqual({
name: 'b',
dependencies: {
- '@backstage/core': '^5.0.0',
+ '@backstage/core': '^1.0.3',
'@backstage/theme': '^1.0.0',
},
});
- expect(await fs.readJson('/backstage.json')).toEqual({ version: '2.0.0' });
});
it('should prefer versions from the highest manifest version when main is not specified', async () => {
@@ -825,6 +794,97 @@ describe('bump', () => {
},
});
});
+
+ it('should log duplicates', async () => {
+ jest.spyOn(Lockfile.prototype, 'analyze').mockReturnValue({
+ invalidRanges: [],
+ newVersions: [],
+ newRanges: [
+ {
+ name: 'first-duplicate',
+ oldRange: 'first-duplicate',
+ newRange: 'first-duplicate',
+ oldVersion: '1.0.0',
+ newVersion: '2.0.0',
+ },
+ {
+ name: 'second-duplicate',
+ oldRange: 'second-duplicate',
+ newRange: 'second-duplicate',
+ oldVersion: '1.0.0',
+ newVersion: '2.0.0',
+ },
+ {
+ name: 'third-duplicate',
+ oldRange: 'third-duplicate',
+ newRange: 'third-duplicate',
+ oldVersion: '1.0.0',
+ newVersion: '2.0.0',
+ },
+ ],
+ });
+ mockFs({
+ '/yarn.lock': lockfileMock,
+ '/package.json': JSON.stringify({
+ workspaces: {
+ packages: ['packages/*'],
+ },
+ }),
+ '/packages/a/package.json': JSON.stringify({
+ name: 'a',
+ dependencies: {
+ '@backstage/core': '^1.0.5',
+ },
+ }),
+ '/packages/b/package.json': JSON.stringify({
+ name: 'b',
+ dependencies: {
+ '@backstage/core': '^1.0.3',
+ '@backstage/theme': '^1.0.0',
+ },
+ }),
+ });
+
+ jest
+ .spyOn(paths, 'resolveTargetRoot')
+ .mockImplementation((...path) => resolvePath('/', ...path));
+ jest.spyOn(runObj, 'run').mockResolvedValue(undefined);
+ worker.use(
+ rest.get(
+ 'https://versions.backstage.io/v1/tags/main/manifest.json',
+ (_, res, ctx) =>
+ res(
+ ctx.status(200),
+ ctx.json({
+ packages: [],
+ }),
+ ),
+ ),
+ );
+ const { log: logs } = await withLogCollector(['log'], async () => {
+ await bump({ pattern: null, release: 'main' } as unknown as Command);
+ });
+ expect(logs.filter(Boolean)).toEqual([
+ 'Using default pattern glob @backstage/*',
+ 'Checking for updates of @backstage/core',
+ 'Checking for updates of @backstage/theme',
+ 'Checking for updates of @backstage/core-api',
+ 'Some packages are outdated, updating',
+ 'unlocking @backstage/core@^1.0.3 ~> 1.0.6',
+ 'unlocking @backstage/core-api@^1.0.6 ~> 1.0.7',
+ 'unlocking @backstage/core-api@^1.0.3 ~> 1.0.7',
+ 'bumping @backstage/core in a to ^1.0.6',
+ 'bumping @backstage/core in b to ^1.0.6',
+ 'bumping @backstage/theme in b to ^2.0.0',
+ 'Running yarn install to install new versions',
+ '⚠️ The following packages may have breaking changes:',
+ ' @backstage/theme : 1.0.0 ~> 2.0.0',
+ ' https://github.com/backstage/backstage/blob/master/packages/theme/CHANGELOG.md',
+ 'Version bump complete!',
+ 'The following packages have duplicates but have been allowed:',
+ 'first-duplicate, second-duplicate, third-duplicate',
+ ]);
+ });
});
describe('bumpBackstageJsonVersion', () => {
diff --git a/packages/cli/src/commands/versions/bump.ts b/packages/cli/src/commands/versions/bump.ts
index 997e5f8e60..873351b63a 100644
--- a/packages/cli/src/commands/versions/bump.ts
+++ b/packages/cli/src/commands/versions/bump.ts
@@ -314,10 +314,6 @@ export default async (opts: OptionValues) => {
),
});
- if (result.newVersions.length > 0) {
- throw new Error('Duplicate versions present after package bump');
- }
-
const forbiddenNewRanges = result.newRanges.filter(({ name }) =>
forbiddenDuplicatesFilter(name),
);
@@ -328,6 +324,19 @@ export default async (opts: OptionValues) => {
.join(', ')}`,
);
}
+
+ const allowedDuplicates = result.newRanges.filter(
+ ({ name }) => !forbiddenDuplicatesFilter(name),
+ );
+
+ if (allowedDuplicates.length > 0) {
+ console.log(
+ chalk.yellow(
+ 'The following packages have duplicates but have been allowed:',
+ ),
+ );
+ console.log(chalk.yellow(allowedDuplicates.map(i => i.name).join(', ')));
+ }
};
export function createStrictVersionFinder(options: {
diff --git a/packages/config-loader/CHANGELOG.md b/packages/config-loader/CHANGELOG.md
index aab170e602..e8cca42db4 100644
--- a/packages/config-loader/CHANGELOG.md
+++ b/packages/config-loader/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/config-loader
+## 1.5.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/cli-common@0.1.12
+
## 1.5.0-next.2
### Patch Changes
diff --git a/packages/config-loader/package.json b/packages/config-loader/package.json
index 56a8a0db81..466dc42cd6 100644
--- a/packages/config-loader/package.json
+++ b/packages/config-loader/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/config-loader",
"description": "Config loading functionality used by Backstage backend, and CLI",
- "version": "1.5.0-next.2",
+ "version": "1.5.0-next.3",
"publishConfig": {
"access": "public",
"main": "dist/index.cjs.js",
diff --git a/packages/config/CHANGELOG.md b/packages/config/CHANGELOG.md
index 5960c5da49..0cdf238ba5 100644
--- a/packages/config/CHANGELOG.md
+++ b/packages/config/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/config
+## 1.1.0-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+
## 1.1.0-next.1
### Patch Changes
diff --git a/packages/config/package.json b/packages/config/package.json
index 359791a969..d772bf9663 100644
--- a/packages/config/package.json
+++ b/packages/config/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/config",
"description": "Config API used by Backstage core, backend, and CLI",
- "version": "1.1.0-next.1",
+ "version": "1.1.0-next.2",
"publishConfig": {
"access": "public",
"main": "dist/index.cjs.js",
diff --git a/packages/core-app-api/CHANGELOG.md b/packages/core-app-api/CHANGELOG.md
index 3cd9fe309e..7bb4134710 100644
--- a/packages/core-app-api/CHANGELOG.md
+++ b/packages/core-app-api/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/core-app-api
+## 1.10.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 9fe827b380e1: Internal refactor
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
## 1.10.0-next.2
### Minor Changes
diff --git a/packages/core-app-api/package.json b/packages/core-app-api/package.json
index 0dd87d1c5f..0509af9bd4 100644
--- a/packages/core-app-api/package.json
+++ b/packages/core-app-api/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/core-app-api",
"description": "Core app API used by Backstage apps",
- "version": "1.10.0-next.2",
+ "version": "1.10.0-next.3",
"publishConfig": {
"access": "public"
},
diff --git a/packages/core-app-api/src/app/AppContext.test.tsx b/packages/core-app-api/src/app/AppContext.test.tsx
index a27b7c6f35..ee7b90533f 100644
--- a/packages/core-app-api/src/app/AppContext.test.tsx
+++ b/packages/core-app-api/src/app/AppContext.test.tsx
@@ -40,7 +40,7 @@ describe('v1 consumer', () => {
};
const renderedHook = renderHook(() => useMockAppV1(), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
),
});
diff --git a/packages/core-app-api/src/app/AppManager.tsx b/packages/core-app-api/src/app/AppManager.tsx
index de078c0ffc..0bd495c03b 100644
--- a/packages/core-app-api/src/app/AppManager.tsx
+++ b/packages/core-app-api/src/app/AppManager.tsx
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-import { AppConfig, Config } from '@backstage/config';
+import { Config } from '@backstage/config';
import React, {
ComponentType,
PropsWithChildren,
@@ -81,6 +81,7 @@ import { InternalAppContext } from './InternalAppContext';
import { AppRouter, getBasePath } from './AppRouter';
import { AppTranslationProvider } from './AppTranslationProvider';
import { AppTranslationApiImpl } from '../apis/implementations/AppTranslationApi';
+import { overrideBaseUrlConfigs } from './overrideBaseUrlConfigs';
type CompatiblePlugin =
| BackstagePlugin
@@ -88,17 +89,6 @@ type CompatiblePlugin =
output(): Array<{ type: 'feature-flag'; name: string }>;
});
-/**
- * Creates a base URL that uses to the current document origin.
- */
-function createLocalBaseUrl(fullUrl: string): string {
- const url = new URL(fullUrl);
- url.protocol = document.location.protocol;
- url.hostname = document.location.hostname;
- url.port = document.location.port;
- return url.toString().replace(/\/$/, '');
-}
-
function useConfigLoader(
configLoader: AppConfigLoader | undefined,
components: AppComponents,
@@ -131,52 +121,9 @@ function useConfigLoader(
};
}
- let configReader;
- /**
- * config.value can be undefined or empty. If it's either, don't bother overriding anything.
- */
- if (config.value?.length) {
- const urlConfigReader = ConfigReader.fromConfigs(config.value);
-
- /**
- * Test configs may not define `app.baseUrl` or `backend.baseUrl` and we
- * don't want to enforce here.
- */
- const appBaseUrl = urlConfigReader.getOptionalString('app.baseUrl');
- const backendBaseUrl = urlConfigReader.getOptionalString('backend.baseUrl');
-
- let configs = config.value;
- const relativeResolverConfig: AppConfig = {
- data: {},
- context: 'relative-resolver',
- };
- if (appBaseUrl && backendBaseUrl) {
- const appOrigin = new URL(appBaseUrl).origin;
- const backendOrigin = new URL(backendBaseUrl).origin;
-
- if (appOrigin === backendOrigin) {
- const newBackendBaseUrl = createLocalBaseUrl(backendBaseUrl);
- if (backendBaseUrl !== newBackendBaseUrl) {
- relativeResolverConfig.data.backend = { baseUrl: newBackendBaseUrl };
- }
- }
- }
- if (appBaseUrl) {
- const newAppBaseUrl = createLocalBaseUrl(appBaseUrl);
- if (appBaseUrl !== newAppBaseUrl) {
- relativeResolverConfig.data.app = { baseUrl: newAppBaseUrl };
- }
- }
- /**
- * Only add the relative config if there is actually data to add.
- */
- if (Object.keys(relativeResolverConfig.data).length) {
- configs = configs.concat([relativeResolverConfig]);
- }
- configReader = ConfigReader.fromConfigs(configs);
- } else {
- configReader = ConfigReader.fromConfigs([]);
- }
+ const configReader = ConfigReader.fromConfigs(
+ config.value?.length ? overrideBaseUrlConfigs(config.value) : [],
+ );
return { api: configReader };
}
diff --git a/packages/core-app-api/src/app/defaultConfigLoader.test.ts b/packages/core-app-api/src/app/defaultConfigLoader.test.ts
index aebba92c43..7579e53dd2 100644
--- a/packages/core-app-api/src/app/defaultConfigLoader.test.ts
+++ b/packages/core-app-api/src/app/defaultConfigLoader.test.ts
@@ -14,40 +14,38 @@
* limitations under the License.
*/
-import { defaultConfigLoader } from './defaultConfigLoader';
+import { defaultConfigLoaderSync } from './defaultConfigLoader';
(process as any).env = { NODE_ENV: 'test' };
const anyEnv = process.env as any;
const anyWindow = window as any;
-describe('defaultConfigLoader', () => {
+describe('defaultConfigLoaderSync', () => {
afterEach(() => {
delete anyEnv.APP_CONFIG;
delete anyWindow.__APP_CONFIG__;
});
- it('loads static config', async () => {
+ it('loads static config', () => {
anyEnv.APP_CONFIG = [
{ data: { my: 'config' }, context: 'a' },
{ data: { my: 'override-config' }, context: 'b' },
];
- const configs = await defaultConfigLoader();
+ const configs = defaultConfigLoaderSync();
expect(configs).toEqual([
{ data: { my: 'config' }, context: 'a' },
{ data: { my: 'override-config' }, context: 'b' },
]);
});
- it('loads runtime config', async () => {
+ it('loads runtime config', () => {
anyEnv.APP_CONFIG = [
{ data: { my: 'override-config' }, context: 'a' },
{ data: { my: 'config' }, context: 'b' },
];
- const configs = await (defaultConfigLoader as any)(
- '{"my":"runtime-config"}',
- );
+ const configs = (defaultConfigLoaderSync as any)('{"my":"runtime-config"}');
expect(configs).toEqual([
{ data: { my: 'override-config' }, context: 'a' },
{ data: { my: 'config' }, context: 'b' },
@@ -55,28 +53,28 @@ describe('defaultConfigLoader', () => {
]);
});
- it('fails to load invalid missing config', async () => {
- await expect(defaultConfigLoader()).rejects.toThrow(
+ it('fails to load invalid missing config', () => {
+ expect(() => defaultConfigLoaderSync()).toThrow(
'No static configuration provided',
);
});
- it('fails to load invalid static config', async () => {
+ it('fails to load invalid static config', () => {
anyEnv.APP_CONFIG = { my: 'invalid-config' };
- await expect(defaultConfigLoader()).rejects.toThrow(
+ expect(() => defaultConfigLoaderSync()).toThrow(
'Static configuration has invalid format',
);
});
- it('fails to load bad runtime config', async () => {
+ it('fails to load bad runtime config', () => {
anyEnv.APP_CONFIG = [{ data: { my: 'config' }, context: 'a' }];
- await expect((defaultConfigLoader as any)('}')).rejects.toThrow(
+ expect(() => defaultConfigLoaderSync('}')).toThrow(
'Failed to load runtime configuration, SyntaxError: Unexpected token } in JSON at position 0',
);
});
- it('loads config from window.__APP_CONFIG__', async () => {
+ it('loads config from window.__APP_CONFIG__', () => {
anyEnv.APP_CONFIG = [
{ data: { my: 'config' }, context: 'a' },
{ data: { my: 'override-config' }, context: 'b' },
@@ -84,7 +82,7 @@ describe('defaultConfigLoader', () => {
const windowConfig = { app: { configKey: 'config-value' } };
anyWindow.__APP_CONFIG__ = windowConfig;
- const configs = await defaultConfigLoader();
+ const configs = defaultConfigLoaderSync();
expect(configs).toEqual([
...anyEnv.APP_CONFIG,
diff --git a/packages/core-app-api/src/app/defaultConfigLoader.ts b/packages/core-app-api/src/app/defaultConfigLoader.ts
index 00aee2d367..301b64a865 100644
--- a/packages/core-app-api/src/app/defaultConfigLoader.ts
+++ b/packages/core-app-api/src/app/defaultConfigLoader.ts
@@ -30,12 +30,16 @@ import { AppConfigLoader } from './types';
*
* @public
*/
-export const defaultConfigLoader: AppConfigLoader = async (
+export const defaultConfigLoader: AppConfigLoader = async () =>
+ defaultConfigLoaderSync();
+
+/** @internal */
+export function defaultConfigLoaderSync(
// This string may be replaced at runtime to provide additional config.
// It should be replaced by a JSON-serialized config object.
// It's a param so we can test it, but at runtime this will always fall back to default.
runtimeConfigJson: string = '__APP_INJECTED_RUNTIME_CONFIG__',
-) => {
+) {
const appConfig = process.env.APP_CONFIG;
if (!appConfig) {
throw new Error('No static configuration provided');
@@ -70,4 +74,4 @@ export const defaultConfigLoader: AppConfigLoader = async (
});
}
return configs;
-};
+}
diff --git a/packages/core-app-api/src/app/overrideBaseUrlConfigs.ts b/packages/core-app-api/src/app/overrideBaseUrlConfigs.ts
new file mode 100644
index 0000000000..5dab6db127
--- /dev/null
+++ b/packages/core-app-api/src/app/overrideBaseUrlConfigs.ts
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { AppConfig, ConfigReader } from '@backstage/config';
+
+/**
+ * Creates a base URL that uses to the current document origin.
+ */
+function createLocalBaseUrl(fullUrl: string): string {
+ const url = new URL(fullUrl);
+ url.protocol = document.location.protocol;
+ url.hostname = document.location.hostname;
+ url.port = document.location.port;
+ return url.toString().replace(/\/$/, '');
+}
+
+/**
+ * If we are able to override the app and backend base URLs to values that
+ * match the origin of the current location, then this function returns a
+ * new array of app configs that contain the overrides.
+ *
+ * @internal
+ */
+export function overrideBaseUrlConfigs(inputConfigs: AppConfig[]): AppConfig[] {
+ const urlConfigReader = ConfigReader.fromConfigs(inputConfigs);
+
+ // In tests we may not have `app.baseUrl` or `backend.baseUrl`, to keep them optional
+ const appBaseUrl = urlConfigReader.getOptionalString('app.baseUrl');
+ const backendBaseUrl = urlConfigReader.getOptionalString('backend.baseUrl');
+
+ let configs = inputConfigs;
+
+ let newBackendBaseUrl: string | undefined = undefined;
+ let newAppBaseUrl: string | undefined = undefined;
+
+ if (appBaseUrl && backendBaseUrl) {
+ const appOrigin = new URL(appBaseUrl).origin;
+ const backendOrigin = new URL(backendBaseUrl).origin;
+
+ if (appOrigin === backendOrigin) {
+ const maybeNewBackendBaseUrl = createLocalBaseUrl(backendBaseUrl);
+ if (backendBaseUrl !== maybeNewBackendBaseUrl) {
+ newBackendBaseUrl = maybeNewBackendBaseUrl;
+ }
+ }
+ }
+
+ if (appBaseUrl) {
+ const maybeNewAppBaseUrl = createLocalBaseUrl(appBaseUrl);
+ if (appBaseUrl !== maybeNewAppBaseUrl) {
+ newAppBaseUrl = maybeNewAppBaseUrl;
+ }
+ }
+
+ // Only add the relative config if there is actually data to add.
+ if (newAppBaseUrl || newBackendBaseUrl) {
+ configs = configs.concat({
+ data: {
+ app: newAppBaseUrl && {
+ baseUrl: newAppBaseUrl,
+ },
+ backend: newBackendBaseUrl && {
+ baseUrl: newBackendBaseUrl,
+ },
+ },
+ context: 'relative-resolver',
+ });
+ }
+
+ return configs;
+}
diff --git a/packages/core-app-api/src/routing/RoutingProvider.beta.test.tsx b/packages/core-app-api/src/routing/RoutingProvider.beta.test.tsx
index 532be8c09d..c3a5bab89e 100644
--- a/packages/core-app-api/src/routing/RoutingProvider.beta.test.tsx
+++ b/packages/core-app-api/src/routing/RoutingProvider.beta.test.tsx
@@ -353,7 +353,7 @@ describe('v1 consumer', () => {
initialProps: {
routeRef: routeRef1 as AnyRouteRef,
},
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
, string>([
diff --git a/packages/core-app-api/src/routing/RoutingProvider.stable.test.tsx b/packages/core-app-api/src/routing/RoutingProvider.stable.test.tsx
index 24101dcf06..84a33842c9 100644
--- a/packages/core-app-api/src/routing/RoutingProvider.stable.test.tsx
+++ b/packages/core-app-api/src/routing/RoutingProvider.stable.test.tsx
@@ -385,7 +385,7 @@ describe('v1 consumer', () => {
initialProps: {
routeRef: routeRef1 as AnyRouteRef,
},
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
, string>([
diff --git a/packages/core-components/CHANGELOG.md b/packages/core-components/CHANGELOG.md
index 8fb94136e0..b3a475f357 100644
--- a/packages/core-components/CHANGELOG.md
+++ b/packages/core-components/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/core-components
+## 0.13.5-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
## 0.13.5-next.2
### Patch Changes
diff --git a/packages/core-components/api-report.md b/packages/core-components/api-report.md
index 54c26039a3..0aade4549e 100644
--- a/packages/core-components/api-report.md
+++ b/packages/core-components/api-report.md
@@ -347,10 +347,10 @@ export type EmptyStateImageClassKey = 'generalImg';
export const ErrorBoundary: ComponentClass;
// @public (undocumented)
-export type ErrorBoundaryProps = {
+export type ErrorBoundaryProps = React_2.PropsWithChildren<{
slackChannel?: string | SlackChannel;
onError?: (error: Error, errorInfo: string) => null;
-};
+}>;
// Warning: (ae-forgotten-export) The symbol "IErrorPageProps" needs to be exported by the entry point index.d.ts
//
diff --git a/packages/core-components/package.json b/packages/core-components/package.json
index e2e534da56..31d0dfb005 100644
--- a/packages/core-components/package.json
+++ b/packages/core-components/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/core-components",
"description": "Core components used by Backstage plugins and apps",
- "version": "0.13.5-next.2",
+ "version": "0.13.5-next.3",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
diff --git a/packages/core-components/src/components/Link/Link.test.tsx b/packages/core-components/src/components/Link/Link.test.tsx
index 682c4bea8a..1e39d14009 100644
--- a/packages/core-components/src/components/Link/Link.test.tsx
+++ b/packages/core-components/src/components/Link/Link.test.tsx
@@ -134,7 +134,9 @@ describe('', () => {
});
describe('useResolvedPath', () => {
- const wrapper: WrapperComponent<{}> = ({ children }) => {
+ const wrapper: WrapperComponent> = ({
+ children,
+ }) => {
const configApi = new ConfigReader({
app: { baseUrl: 'http://localhost:3000/example' },
});
diff --git a/packages/core-components/src/components/LogViewer/useLogViewerSelection.test.tsx b/packages/core-components/src/components/LogViewer/useLogViewerSelection.test.tsx
index 93a6dfd7e9..a828818ed5 100644
--- a/packages/core-components/src/components/LogViewer/useLogViewerSelection.test.tsx
+++ b/packages/core-components/src/components/LogViewer/useLogViewerSelection.test.tsx
@@ -40,7 +40,7 @@ const lines = [
describe('useLogViewerSelection', () => {
it('should manage a selection', () => {
const rendered = renderHook(() => useLogViewerSelection(lines), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
{children}
diff --git a/packages/core-components/src/layout/ErrorBoundary/ErrorBoundary.tsx b/packages/core-components/src/layout/ErrorBoundary/ErrorBoundary.tsx
index 037e170640..0ecaedfc19 100644
--- a/packages/core-components/src/layout/ErrorBoundary/ErrorBoundary.tsx
+++ b/packages/core-components/src/layout/ErrorBoundary/ErrorBoundary.tsx
@@ -25,10 +25,10 @@ type SlackChannel = {
};
/** @public */
-export type ErrorBoundaryProps = {
+export type ErrorBoundaryProps = React.PropsWithChildren<{
slackChannel?: string | SlackChannel;
onError?: (error: Error, errorInfo: string) => null;
-};
+}>;
type State = {
error?: Error;
diff --git a/packages/core-components/src/layout/HeaderLabel/HeaderLabel.tsx b/packages/core-components/src/layout/HeaderLabel/HeaderLabel.tsx
index 0ea2e163a7..e6ca9b720e 100644
--- a/packages/core-components/src/layout/HeaderLabel/HeaderLabel.tsx
+++ b/packages/core-components/src/layout/HeaderLabel/HeaderLabel.tsx
@@ -18,7 +18,7 @@ import { BackstageTheme } from '@backstage/theme';
import Grid from '@material-ui/core/Grid';
import { alpha, makeStyles } from '@material-ui/core/styles';
import Typography from '@material-ui/core/Typography';
-import React from 'react';
+import React, { PropsWithChildren } from 'react';
import { Link } from '../../components/Link';
/** @public */
@@ -46,10 +46,10 @@ const useStyles = makeStyles(
{ name: 'BackstageHeaderLabel' },
);
-type HeaderLabelContentProps = {
+type HeaderLabelContentProps = PropsWithChildren<{
value: React.ReactNode;
className: string;
-};
+}>;
const HeaderLabelContent = ({ value, className }: HeaderLabelContentProps) => {
return (
diff --git a/packages/core-components/src/layout/HeaderTabs/HeaderTabs.test.tsx b/packages/core-components/src/layout/HeaderTabs/HeaderTabs.test.tsx
index a6bfc79040..ce5c572eef 100644
--- a/packages/core-components/src/layout/HeaderTabs/HeaderTabs.test.tsx
+++ b/packages/core-components/src/layout/HeaderTabs/HeaderTabs.test.tsx
@@ -55,18 +55,20 @@ describe('', () => {
},
}));
- const TextualBadge = React.forwardRef((props, ref) => (
-
-
- {props.children}
-
-
- ));
+ const TextualBadge = React.forwardRef(
+ (props: React.PropsWithChildren<{}>, ref) => (
+
+
+ {props.children}
+
+
+ ),
+ );
const iconTab = [
{
id: 'icon-tab',
diff --git a/packages/core-plugin-api/CHANGELOG.md b/packages/core-plugin-api/CHANGELOG.md
index 33060653c1..306974dc8a 100644
--- a/packages/core-plugin-api/CHANGELOG.md
+++ b/packages/core-plugin-api/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/core-plugin-api
+## 1.6.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
## 1.6.0-next.2
### Minor Changes
diff --git a/packages/core-plugin-api/package.json b/packages/core-plugin-api/package.json
index 38af96585c..300caa7ef0 100644
--- a/packages/core-plugin-api/package.json
+++ b/packages/core-plugin-api/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/core-plugin-api",
"description": "Core API used by Backstage plugins",
- "version": "1.6.0-next.2",
+ "version": "1.6.0-next.3",
"publishConfig": {
"access": "public"
},
diff --git a/packages/core-plugin-api/src/extensions/PluginErrorBoundary.tsx b/packages/core-plugin-api/src/extensions/PluginErrorBoundary.tsx
index 215ebc8470..51ddecdf71 100644
--- a/packages/core-plugin-api/src/extensions/PluginErrorBoundary.tsx
+++ b/packages/core-plugin-api/src/extensions/PluginErrorBoundary.tsx
@@ -18,10 +18,10 @@ import React from 'react';
import { AppContext } from '../app/types';
import { BackstagePlugin } from '../plugin';
-type Props = {
+type Props = React.PropsWithChildren<{
app: AppContext;
plugin: BackstagePlugin;
-};
+}>;
type State = { error: Error | undefined };
diff --git a/packages/core-plugin-api/src/plugin-options/usePluginOptions.test.tsx b/packages/core-plugin-api/src/plugin-options/usePluginOptions.test.tsx
index 11bf85aafa..96691d503b 100644
--- a/packages/core-plugin-api/src/plugin-options/usePluginOptions.test.tsx
+++ b/packages/core-plugin-api/src/plugin-options/usePluginOptions.test.tsx
@@ -38,7 +38,7 @@ describe('usePluginOptions', () => {
});
const rendered = renderHook(() => usePluginOptions(), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
{children}
),
});
diff --git a/packages/core-plugin-api/src/routing/useRouteRef.test.tsx b/packages/core-plugin-api/src/routing/useRouteRef.test.tsx
index 618f40d281..7a03a1cdc4 100644
--- a/packages/core-plugin-api/src/routing/useRouteRef.test.tsx
+++ b/packages/core-plugin-api/src/routing/useRouteRef.test.tsx
@@ -36,7 +36,7 @@ describe('v1 consumer', () => {
const routeRef = createRouteRef({ id: 'ref1' });
const renderedHook = renderHook(() => useRouteRef(routeRef), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
),
});
@@ -60,7 +60,7 @@ describe('v1 consumer', () => {
history.push('/my-page');
const { rerender } = renderHook(() => useRouteRef(routeRef), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
{
history.push('/my-page');
const { rerender } = renderHook(() => useRouteRef(routeRef), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
{
history.push('/my-page');
const { rerender } = renderHook(() => useRouteRef(routeRef), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
{
history.push('/my-page');
const { rerender } = renderHook(() => useRouteRef(routeRef), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
import { BackstagePlugin } from '@backstage/frontend-plugin-api';
+import { ConfigApi } from '@backstage/core-plugin-api';
// @public (undocumented)
-export function createApp(options: { plugins: BackstagePlugin[] }): {
+export function createApp(options: {
+ plugins: BackstagePlugin[];
+ config?: ConfigApi;
+}): {
createRoot(): JSX.Element;
};
```
diff --git a/packages/frontend-app-api/package.json b/packages/frontend-app-api/package.json
index 451a1c0c5a..9e33a0a34a 100644
--- a/packages/frontend-app-api/package.json
+++ b/packages/frontend-app-api/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/frontend-app-api",
- "version": "0.0.0",
+ "version": "0.1.0-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -34,10 +34,13 @@
],
"dependencies": {
"@backstage/config": "workspace:^",
+ "@backstage/core-app-api": "workspace:^",
+ "@backstage/core-components": "workspace:^",
"@backstage/core-plugin-api": "workspace:^",
"@backstage/frontend-plugin-api": "workspace:^",
"@backstage/plugin-graphiql": "workspace:^",
"@backstage/types": "workspace:^",
+ "@material-ui/core": "^4.12.4",
"lodash": "^4.17.21"
},
"peerDependencies": {
diff --git a/packages/frontend-app-api/src/createApp.tsx b/packages/frontend-app-api/src/createApp.tsx
deleted file mode 100644
index c50b507642..0000000000
--- a/packages/frontend-app-api/src/createApp.tsx
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright 2023 The Backstage Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import React from 'react';
-import { ConfigReader } from '@backstage/config';
-import {
- BackstagePlugin,
- coreExtensionData,
-} from '@backstage/frontend-plugin-api';
-import { CoreRouter } from './extensions/CoreRouter';
-import {
- createExtensionInstance,
- ExtensionInstance,
-} from './createExtensionInstance';
-import {
- ExtensionInstanceParameters,
- mergeExtensionParameters,
- readAppExtensionParameters,
-} from './wiring/parameters';
-import { RoutingProvider } from './routing/RoutingContext';
-import { RouteRef } from '@backstage/core-plugin-api';
-import { getAvailablePlugins } from './wiring/discovery';
-
-/** @public */
-export function createApp(options: { plugins: BackstagePlugin[] }): {
- createRoot(): JSX.Element;
-} {
- const appConfig = ConfigReader.fromConfigs(process.env.APP_CONFIG as any);
-
- const builtinExtensions = [CoreRouter];
- const discoveredPlugins = getAvailablePlugins();
-
- // pull in default extension instance from discovered packages
- // apply config to adjust default extension instances and add more
- const extensionParams = mergeExtensionParameters({
- sources: [...options.plugins, ...discoveredPlugins],
- builtinExtensions,
- parameters: readAppExtensionParameters(appConfig),
- });
-
- // TODO: validate the config of all extension instances
- // We do it at this point to ensure that merging (if any) of config has already happened
-
- // Create attachment map so that we can look attachments up during instance creation
- const attachmentMap = new Map<
- string,
- Map
- >();
- for (const instanceParams of extensionParams) {
- const [extensionId, pointId = 'default'] = instanceParams.at.split('/');
-
- let pointMap = attachmentMap.get(extensionId);
- if (!pointMap) {
- pointMap = new Map();
- attachmentMap.set(extensionId, pointMap);
- }
-
- let instances = pointMap.get(pointId);
- if (!instances) {
- instances = [];
- pointMap.set(pointId, instances);
- }
-
- instances.push(instanceParams);
- }
-
- const instances = new Map();
-
- function createInstance(
- instanceParams: ExtensionInstanceParameters,
- ): ExtensionInstance {
- const existingInstance = instances.get(instanceParams.extension.id);
- if (existingInstance) {
- return existingInstance;
- }
-
- const attachments = new Map(
- Array.from(
- attachmentMap.get(instanceParams.extension.id)?.entries() ?? [],
- ).map(([inputName, attachmentConfigs]) => [
- inputName,
- attachmentConfigs.map(createInstance),
- ]),
- );
-
- const newInstance = createExtensionInstance({
- extension: instanceParams.extension,
- source: instanceParams.source,
- config: instanceParams.config,
- attachments,
- });
-
- instances.set(instanceParams.extension.id, newInstance);
-
- return newInstance;
- }
-
- const rootConfigs = attachmentMap.get('root')?.get('default') ?? [];
- const rootInstances = rootConfigs.map(instanceParams =>
- createInstance(instanceParams),
- );
-
- const routePaths = extractRouteInfoFromInstanceTree(rootInstances);
-
- return {
- createRoot() {
- const rootComponents = rootInstances.map(
- e =>
- e.data.get(
- coreExtensionData.reactComponent.id,
- ) as typeof coreExtensionData.reactComponent.T,
- );
- return (
-
- {rootComponents.map((Component, i) => (
-
- ))}
-
- );
- },
- };
-}
-
-/** @internal */
-export function extractRouteInfoFromInstanceTree(
- roots: ExtensionInstance[],
-): Map {
- const results = new Map();
-
- function visit(current: ExtensionInstance, basePath: string) {
- const routePath = current.data.get(coreExtensionData.routePath.id) ?? '';
- const routeRef = current.data.get(
- coreExtensionData.routeRef.id,
- ) as RouteRef;
-
- // TODO: join paths in a more robust way
- const fullPath = basePath + routePath;
- if (routeRef) {
- const routeRefId = (routeRef as any).id; // TODO: properly
- if (routeRefId !== current.id) {
- throw new Error(
- `Route ref '${routeRefId}' must have the same ID as extension '${current.id}'`,
- );
- }
- results.set(routeRef, fullPath);
- }
-
- for (const children of current.attachments.values()) {
- for (const child of children) {
- visit(child, fullPath);
- }
- }
- }
-
- for (const root of roots) {
- visit(root, '');
- }
- return results;
-}
diff --git a/packages/frontend-app-api/src/extensions/Core.tsx b/packages/frontend-app-api/src/extensions/Core.tsx
new file mode 100644
index 0000000000..cb93b2888f
--- /dev/null
+++ b/packages/frontend-app-api/src/extensions/Core.tsx
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {
+ coreExtensionData,
+ createExtension,
+} from '@backstage/frontend-plugin-api';
+
+export const Core = createExtension({
+ id: 'core',
+ at: 'root',
+ inputs: {
+ apis: {
+ extensionData: {
+ api: coreExtensionData.apiFactory,
+ },
+ },
+ },
+ output: {},
+ factory() {},
+});
diff --git a/packages/frontend-app-api/src/extensions/CoreLayout.tsx b/packages/frontend-app-api/src/extensions/CoreLayout.tsx
new file mode 100644
index 0000000000..845bc8cf5b
--- /dev/null
+++ b/packages/frontend-app-api/src/extensions/CoreLayout.tsx
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import React from 'react';
+import {
+ createExtension,
+ coreExtensionData,
+} from '@backstage/frontend-plugin-api';
+import { SidebarPage } from '@backstage/core-components';
+
+export const CoreLayout = createExtension({
+ id: 'core.layout',
+ at: 'root',
+ inputs: {
+ nav: {
+ extensionData: {
+ component: coreExtensionData.reactComponent,
+ },
+ },
+ content: {
+ extensionData: {
+ component: coreExtensionData.reactComponent,
+ },
+ },
+ },
+ output: {
+ component: coreExtensionData.reactComponent,
+ },
+ factory({ bind, inputs }) {
+ // TODO: Support this as part of the core system
+ if (inputs.nav.length !== 1) {
+ throw Error(
+ `Extension 'core.layout' did not receive exactly one 'nav' input, got ${inputs.nav.length}`,
+ );
+ }
+ const Nav = inputs.nav[0].component;
+
+ if (inputs.content.length !== 1) {
+ throw Error(
+ `Extension 'core.layout' did not receive exactly one 'content' input, got ${inputs.content.length}`,
+ );
+ }
+ const Content = inputs.content[0].component;
+
+ bind({
+ // TODO: set base path using the logic from AppRouter
+ component: () => (
+
+
+
+
+ ),
+ });
+ },
+});
diff --git a/packages/frontend-app-api/src/extensions/CoreNav.tsx b/packages/frontend-app-api/src/extensions/CoreNav.tsx
new file mode 100644
index 0000000000..57f458cec7
--- /dev/null
+++ b/packages/frontend-app-api/src/extensions/CoreNav.tsx
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import React from 'react';
+import {
+ createExtension,
+ coreExtensionData,
+} from '@backstage/frontend-plugin-api';
+import { makeStyles } from '@material-ui/core';
+import {
+ Sidebar,
+ useSidebarOpenState,
+ Link,
+ sidebarConfig,
+ SidebarDivider,
+ SidebarItem,
+} from '@backstage/core-components';
+import { GraphiQLIcon } from '@backstage/plugin-graphiql';
+// eslint-disable-next-line @backstage/no-relative-monorepo-imports
+import LogoIcon from '../../../app/src/components/Root/LogoIcon';
+// eslint-disable-next-line @backstage/no-relative-monorepo-imports
+import LogoFull from '../../../app/src/components/Root/LogoFull';
+
+const useSidebarLogoStyles = makeStyles({
+ root: {
+ width: sidebarConfig.drawerWidthClosed,
+ height: 3 * sidebarConfig.logoHeight,
+ display: 'flex',
+ flexFlow: 'row nowrap',
+ alignItems: 'center',
+ marginBottom: -14,
+ },
+ link: {
+ width: sidebarConfig.drawerWidthClosed,
+ marginLeft: 24,
+ },
+});
+
+const SidebarLogo = () => {
+ const classes = useSidebarLogoStyles();
+ const { isOpen } = useSidebarOpenState();
+
+ return (
+
+
+ {isOpen ? : }
+
+
+ );
+};
+
+export const CoreNav = createExtension({
+ id: 'core.nav',
+ at: 'core.layout/nav',
+ inputs: {},
+ output: {
+ component: coreExtensionData.reactComponent,
+ },
+ factory({ bind }) {
+ bind({
+ // TODO: set base path using the logic from AppRouter
+ component: () => (
+
+
+
+
+
+ ),
+ });
+ },
+});
diff --git a/packages/frontend-app-api/src/extensions/CoreRouter.tsx b/packages/frontend-app-api/src/extensions/CoreRoutes.tsx
similarity index 83%
rename from packages/frontend-app-api/src/extensions/CoreRouter.tsx
rename to packages/frontend-app-api/src/extensions/CoreRoutes.tsx
index 05f84aba6d..5b48149fbf 100644
--- a/packages/frontend-app-api/src/extensions/CoreRouter.tsx
+++ b/packages/frontend-app-api/src/extensions/CoreRoutes.tsx
@@ -19,11 +19,11 @@ import {
createExtension,
coreExtensionData,
} from '@backstage/frontend-plugin-api';
-import { BrowserRouter, useRoutes } from 'react-router-dom';
+import { useRoutes } from 'react-router-dom';
-export const CoreRouter = createExtension({
- id: 'core.router',
- at: 'root',
+export const CoreRoutes = createExtension({
+ id: 'core.routes',
+ at: 'core.layout/content',
inputs: {
routes: {
extensionData: {
@@ -48,11 +48,7 @@ export const CoreRouter = createExtension({
return element;
};
bind({
- component: () => (
-
-
-
- ),
+ component: () => ,
});
},
});
diff --git a/packages/frontend-app-api/src/index.ts b/packages/frontend-app-api/src/index.ts
index 9674eb345d..f2dfa0f029 100644
--- a/packages/frontend-app-api/src/index.ts
+++ b/packages/frontend-app-api/src/index.ts
@@ -20,4 +20,4 @@
* @packageDocumentation
*/
-export { createApp } from './createApp';
+export * from './wiring';
diff --git a/packages/frontend-app-api/src/wiring/createApp.tsx b/packages/frontend-app-api/src/wiring/createApp.tsx
new file mode 100644
index 0000000000..9a4f5bc303
--- /dev/null
+++ b/packages/frontend-app-api/src/wiring/createApp.tsx
@@ -0,0 +1,326 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import React from 'react';
+import { ConfigReader } from '@backstage/config';
+import {
+ BackstagePlugin,
+ coreExtensionData,
+} from '@backstage/frontend-plugin-api';
+import { Core } from '../extensions/Core';
+import { CoreRoutes } from '../extensions/CoreRoutes';
+import { CoreLayout } from '../extensions/CoreLayout';
+import { CoreNav } from '../extensions/CoreNav';
+import {
+ createExtensionInstance,
+ ExtensionInstance,
+} from './createExtensionInstance';
+import {
+ ExtensionInstanceParameters,
+ mergeExtensionParameters,
+ readAppExtensionParameters,
+} from './parameters';
+import { RoutingProvider } from '../routing/RoutingContext';
+import {
+ AnyApiFactory,
+ ApiHolder,
+ AppComponents,
+ AppContext,
+ appThemeApiRef,
+ ConfigApi,
+ configApiRef,
+ IconComponent,
+ RouteRef,
+ BackstagePlugin as LegacyBackstagePlugin,
+ featureFlagsApiRef,
+} from '@backstage/core-plugin-api';
+import { getAvailablePlugins } from './discovery';
+import {
+ ApiFactoryRegistry,
+ ApiProvider,
+ ApiResolver,
+ AppThemeSelector,
+} from '@backstage/core-app-api';
+
+// TODO: Get rid of all of these
+// eslint-disable-next-line @backstage/no-relative-monorepo-imports
+import { AppThemeProvider } from '../../../core-app-api/src/app/AppThemeProvider';
+// eslint-disable-next-line @backstage/no-relative-monorepo-imports
+import { AppContextProvider } from '../../../core-app-api/src/app/AppContext';
+// eslint-disable-next-line @backstage/no-relative-monorepo-imports
+import { LocalStorageFeatureFlags } from '../../../core-app-api/src/apis/implementations/FeatureFlagsApi/LocalStorageFeatureFlags';
+// eslint-disable-next-line @backstage/no-relative-monorepo-imports
+import { defaultConfigLoaderSync } from '../../../core-app-api/src/app/defaultConfigLoader';
+// eslint-disable-next-line @backstage/no-relative-monorepo-imports
+import { overrideBaseUrlConfigs } from '../../../core-app-api/src/app/overrideBaseUrlConfigs';
+// eslint-disable-next-line @backstage/no-relative-monorepo-imports
+import {
+ apis as defaultApis,
+ components as defaultComponents,
+ icons as defaultIcons,
+ themes as defaultThemes,
+} from '../../../app-defaults/src/defaults';
+import { BrowserRouter } from 'react-router-dom';
+
+/** @public */
+export function createApp(options: {
+ plugins: BackstagePlugin[];
+ config?: ConfigApi;
+}): {
+ createRoot(): JSX.Element;
+} {
+ const appConfig =
+ options?.config ??
+ ConfigReader.fromConfigs(overrideBaseUrlConfigs(defaultConfigLoaderSync()));
+
+ const builtinExtensions = [Core, CoreRoutes, CoreNav, CoreLayout];
+ const discoveredPlugins = getAvailablePlugins();
+ const allPlugins = [...discoveredPlugins, ...options.plugins];
+
+ // pull in default extension instance from discovered packages
+ // apply config to adjust default extension instances and add more
+ const extensionParams = mergeExtensionParameters({
+ sources: allPlugins,
+ builtinExtensions,
+ parameters: readAppExtensionParameters(appConfig),
+ });
+
+ // TODO: validate the config of all extension instances
+ // We do it at this point to ensure that merging (if any) of config has already happened
+
+ // Create attachment map so that we can look attachments up during instance creation
+ const attachmentMap = new Map<
+ string,
+ Map
+ >();
+ for (const instanceParams of extensionParams) {
+ const [extensionId, pointId = 'default'] = instanceParams.at.split('/');
+
+ let pointMap = attachmentMap.get(extensionId);
+ if (!pointMap) {
+ pointMap = new Map();
+ attachmentMap.set(extensionId, pointMap);
+ }
+
+ let instances = pointMap.get(pointId);
+ if (!instances) {
+ instances = [];
+ pointMap.set(pointId, instances);
+ }
+
+ instances.push(instanceParams);
+ }
+
+ const instances = new Map();
+
+ function createInstance(
+ instanceParams: ExtensionInstanceParameters,
+ ): ExtensionInstance {
+ const existingInstance = instances.get(instanceParams.extension.id);
+ if (existingInstance) {
+ return existingInstance;
+ }
+
+ const attachments = new Map(
+ Array.from(
+ attachmentMap.get(instanceParams.extension.id)?.entries() ?? [],
+ ).map(([inputName, attachmentConfigs]) => [
+ inputName,
+ attachmentConfigs.map(createInstance),
+ ]),
+ );
+
+ const newInstance = createExtensionInstance({
+ extension: instanceParams.extension,
+ source: instanceParams.source,
+ config: instanceParams.config,
+ attachments,
+ });
+
+ instances.set(instanceParams.extension.id, newInstance);
+
+ return newInstance;
+ }
+
+ const rootConfigs = attachmentMap.get('root')?.get('default') ?? [];
+ const rootInstances = rootConfigs.map(instanceParams =>
+ createInstance(instanceParams),
+ );
+
+ const routePaths = extractRouteInfoFromInstanceTree(rootInstances);
+
+ const coreInstance = rootInstances.find(({ id }) => id === 'core');
+ if (!coreInstance) {
+ throw Error('Unable to find core extension instance');
+ }
+
+ const apiHolder = createApiHolder(coreInstance, appConfig);
+
+ const appContext = createLegacyAppContext(allPlugins);
+
+ return {
+ createRoot() {
+ const rootComponents = rootInstances
+ .map(e => e.getData(coreExtensionData.reactComponent))
+ .filter((x): x is React.ComponentType => !!x);
+ return (
+
+
+
+
+ {/* TODO: set base path using the logic from AppRouter */}
+
+ {rootComponents.map((Component, i) => (
+
+ ))}
+
+
+
+
+
+ );
+ },
+ };
+}
+
+function toLegacyPlugin(plugin: BackstagePlugin): LegacyBackstagePlugin {
+ const errorMsg = 'Not implemented in legacy plugin compatibility layer';
+ const notImplemented = () => {
+ throw new Error(errorMsg);
+ };
+ return {
+ getId(): string {
+ return plugin.id;
+ },
+ get routes(): never {
+ throw new Error(errorMsg);
+ },
+ get externalRoutes(): never {
+ throw new Error(errorMsg);
+ },
+ getApis: notImplemented,
+ getFeatureFlags: notImplemented,
+ provide: notImplemented,
+ __experimentalReconfigure: notImplemented,
+ };
+}
+
+function createLegacyAppContext(plugins: BackstagePlugin[]): AppContext {
+ return {
+ getPlugins(): LegacyBackstagePlugin[] {
+ return plugins.map(toLegacyPlugin);
+ },
+
+ getSystemIcon(key: string): IconComponent | undefined {
+ return key in defaultIcons
+ ? defaultIcons[key as keyof typeof defaultIcons]
+ : undefined;
+ },
+
+ getSystemIcons(): Record {
+ return defaultIcons;
+ },
+
+ getComponents(): AppComponents {
+ return defaultComponents;
+ },
+ };
+}
+
+function createApiHolder(
+ coreExtension: ExtensionInstance,
+ configApi: ConfigApi,
+): ApiHolder {
+ const factoryRegistry = new ApiFactoryRegistry();
+
+ const apiFactories =
+ coreExtension.attachments
+ .get('apis')
+ ?.map(e => e.getData(coreExtensionData.apiFactory))
+ .filter((x): x is AnyApiFactory => !!x) ?? [];
+
+ for (const factory of apiFactories) {
+ factoryRegistry.register('default', factory);
+ }
+
+ // TODO: properly discovery feature flags, maybe rework the whole thing
+ factoryRegistry.register('default', {
+ api: featureFlagsApiRef,
+ deps: {},
+ factory: () => new LocalStorageFeatureFlags(),
+ });
+
+ factoryRegistry.register('static', {
+ api: appThemeApiRef,
+ deps: {},
+ // TODO: add extension for registering themes
+ factory: () => AppThemeSelector.createWithStorage(defaultThemes),
+ });
+
+ factoryRegistry.register('static', {
+ api: configApiRef,
+ deps: {},
+ factory: () => configApi,
+ });
+
+ // TODO: ship these as default extensions instead
+ for (const factory of defaultApis as AnyApiFactory[]) {
+ if (!factoryRegistry.register('app', factory)) {
+ throw new Error(
+ `Duplicate or forbidden API factory for ${factory.api} in app`,
+ );
+ }
+ }
+
+ ApiResolver.validateFactories(factoryRegistry, factoryRegistry.getAllApis());
+
+ return new ApiResolver(factoryRegistry);
+}
+
+/** @internal */
+export function extractRouteInfoFromInstanceTree(
+ roots: ExtensionInstance[],
+): Map {
+ const results = new Map();
+
+ function visit(current: ExtensionInstance, basePath: string) {
+ const routePath = current.getData(coreExtensionData.routePath) ?? '';
+ const routeRef = current.getData(coreExtensionData.routeRef);
+
+ // TODO: join paths in a more robust way
+ const fullPath = basePath + routePath;
+ if (routeRef) {
+ const routeRefId = (routeRef as any).id; // TODO: properly
+ if (routeRefId !== current.id) {
+ throw new Error(
+ `Route ref '${routeRefId}' must have the same ID as extension '${current.id}'`,
+ );
+ }
+ results.set(routeRef, fullPath);
+ }
+
+ for (const children of current.attachments.values()) {
+ for (const child of children) {
+ visit(child, fullPath);
+ }
+ }
+ }
+
+ for (const root of roots) {
+ visit(root, '');
+ }
+ return results;
+}
diff --git a/packages/frontend-app-api/src/createExtensionInstance.ts b/packages/frontend-app-api/src/wiring/createExtensionInstance.ts
similarity index 80%
rename from packages/frontend-app-api/src/createExtensionInstance.ts
rename to packages/frontend-app-api/src/wiring/createExtensionInstance.ts
index d767f21d58..52afe95121 100644
--- a/packages/frontend-app-api/src/createExtensionInstance.ts
+++ b/packages/frontend-app-api/src/wiring/createExtensionInstance.ts
@@ -14,21 +14,26 @@
* limitations under the License.
*/
-import { BackstagePlugin, Extension } from '@backstage/frontend-plugin-api';
+import {
+ BackstagePlugin,
+ Extension,
+ ExtensionDataRef,
+} from '@backstage/frontend-plugin-api';
import mapValues from 'lodash/mapValues';
/** @internal */
export interface ExtensionInstance {
+ readonly $$type: '@backstage/ExtensionInstance';
+
readonly id: string;
/**
- * Maps extension data ref IDs to extensions produced.
+ * Get concrete value for the given extension data reference. Returns undefined if no value is available.
*/
- readonly data: Map;
+ getData(ref: ExtensionDataRef): T | undefined;
/**
* Maps input names to the actual instances given to them.
*/
readonly attachments: Map;
- readonly $$type: 'extension-instance';
}
/** @internal */
@@ -70,7 +75,7 @@ export function createExtensionInstance(options: {
({ extensionData: pointData }, inputName) => {
// TODO: validation
return (attachments.get(inputName) ?? []).map(attachment =>
- mapValues(pointData, ref => attachment.data.get(ref.id)),
+ mapValues(pointData, ref => attachment.getData(ref)),
);
},
),
@@ -82,9 +87,12 @@ export function createExtensionInstance(options: {
}
return {
+ $$type: '@backstage/ExtensionInstance',
id: options.extension.id,
- data: extensionData,
+ getData(ref: ExtensionDataRef): T | undefined {
+ return extensionData.get(ref.id) as T | undefined;
+ },
+
attachments,
- $$type: 'extension-instance',
};
}
diff --git a/packages/frontend-app-api/src/wiring/discovery.ts b/packages/frontend-app-api/src/wiring/discovery.ts
index d872ae4441..6d0b9282ea 100644
--- a/packages/frontend-app-api/src/wiring/discovery.ts
+++ b/packages/frontend-app-api/src/wiring/discovery.ts
@@ -35,7 +35,7 @@ export function getAvailablePlugins(): BackstagePlugin[] {
function isBackstagePlugin(obj: unknown): obj is BackstagePlugin {
if (obj !== null && typeof obj === 'object' && '$$type' in obj) {
- return obj.$$type === 'backstage-plugin';
+ return obj.$$type === '@backstage/BackstagePlugin';
}
return false;
}
diff --git a/packages/frontend-app-api/src/wiring/index.ts b/packages/frontend-app-api/src/wiring/index.ts
new file mode 100644
index 0000000000..a43cd73df2
--- /dev/null
+++ b/packages/frontend-app-api/src/wiring/index.ts
@@ -0,0 +1,17 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+export { createApp } from './createApp';
diff --git a/packages/frontend-plugin-api/CHANGELOG.md b/packages/frontend-plugin-api/CHANGELOG.md
index 3070b37d9f..25b4f98648 100644
--- a/packages/frontend-plugin-api/CHANGELOG.md
+++ b/packages/frontend-plugin-api/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/frontend-plugin-api
+## 0.1.0-next.0
+
+### Minor Changes
+
+- 628ca7e458e4: Initial release
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/types@1.1.1-next.0
+
## 0.0.1-next.0
### Patch Changes
diff --git a/packages/frontend-plugin-api/api-report.md b/packages/frontend-plugin-api/api-report.md
index 2959dcb92e..3a0a3bf357 100644
--- a/packages/frontend-plugin-api/api-report.md
+++ b/packages/frontend-plugin-api/api-report.md
@@ -24,7 +24,7 @@ export type AnyExtensionDataMap = {
// @public (undocumented)
export interface BackstagePlugin {
// (undocumented)
- $$type: 'backstage-plugin';
+ $$type: '@backstage/BackstagePlugin';
// (undocumented)
extensions: Extension[];
// (undocumented)
@@ -176,7 +176,7 @@ export function createSchemaFromZod(
// @public (undocumented)
export interface Extension {
// (undocumented)
- $$type: 'extension';
+ $$type: '@backstage/Extension';
// (undocumented)
at: string;
// (undocumented)
@@ -268,7 +268,7 @@ export type ExtensionDataRef<
id: string;
T: TData;
config: TConfig;
- $$type: 'extension-data';
+ $$type: '@backstage/ExtensionDataRef';
};
// @public (undocumented)
diff --git a/packages/frontend-plugin-api/package.json b/packages/frontend-plugin-api/package.json
index fda7bd8a05..adc0907ab6 100644
--- a/packages/frontend-plugin-api/package.json
+++ b/packages/frontend-plugin-api/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/frontend-plugin-api",
- "version": "0.0.0",
+ "version": "0.1.0-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -25,6 +25,7 @@
"devDependencies": {
"@backstage/cli": "workspace:^",
"@backstage/frontend-app-api": "workspace:^",
+ "@backstage/test-utils": "workspace:^",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^12.1.3"
},
diff --git a/packages/frontend-plugin-api/src/extensions/createApiExtension.test.ts b/packages/frontend-plugin-api/src/extensions/createApiExtension.test.ts
index fadb814d4f..7426edb766 100644
--- a/packages/frontend-plugin-api/src/extensions/createApiExtension.test.ts
+++ b/packages/frontend-plugin-api/src/extensions/createApiExtension.test.ts
@@ -31,7 +31,7 @@ describe('createApiExtension', () => {
});
expect(extension).toEqual({
- $$type: 'extension',
+ $$type: '@backstage/Extension',
id: 'apis.test',
at: 'core/apis',
disabled: false,
@@ -39,7 +39,7 @@ describe('createApiExtension', () => {
inputs: {},
output: {
api: expect.objectContaining({
- $$type: 'extension-data',
+ $$type: '@backstage/ExtensionDataRef',
id: 'core.api.factory',
config: {},
}),
@@ -63,9 +63,9 @@ describe('createApiExtension', () => {
});
},
});
-
+ // boo
expect(extension).toEqual({
- $$type: 'extension',
+ $$type: '@backstage/Extension',
id: 'apis.test',
at: 'core/apis',
disabled: false,
@@ -73,7 +73,7 @@ describe('createApiExtension', () => {
inputs: {},
output: {
api: expect.objectContaining({
- $$type: 'extension-data',
+ $$type: '@backstage/ExtensionDataRef',
id: 'core.api.factory',
config: {},
}),
diff --git a/packages/frontend-plugin-api/src/extensions/createPageExtension.test.tsx b/packages/frontend-plugin-api/src/extensions/createPageExtension.test.tsx
index db389ae4b1..1014a1283d 100644
--- a/packages/frontend-plugin-api/src/extensions/createPageExtension.test.tsx
+++ b/packages/frontend-plugin-api/src/extensions/createPageExtension.test.tsx
@@ -33,9 +33,9 @@ describe('createPageExtension', () => {
component: async () => ,
}),
).toEqual({
- $$type: 'extension',
+ $$type: '@backstage/Extension',
id: 'test',
- at: 'core.router/routes',
+ at: 'core.routes/routes',
configSchema: expect.anything(),
disabled: false,
inputs: {},
@@ -61,7 +61,7 @@ describe('createPageExtension', () => {
component: async () => ,
}),
).toEqual({
- $$type: 'extension',
+ $$type: '@backstage/Extension',
id: 'test',
at: 'other/place',
configSchema: expect.anything(),
@@ -86,9 +86,9 @@ describe('createPageExtension', () => {
component: async () => ,
}),
).toEqual({
- $$type: 'extension',
+ $$type: '@backstage/Extension',
id: 'test',
- at: 'core.router/routes',
+ at: 'core.routes/routes',
configSchema: expect.anything(),
disabled: false,
inputs: {},
diff --git a/packages/frontend-plugin-api/src/extensions/createPageExtension.tsx b/packages/frontend-plugin-api/src/extensions/createPageExtension.tsx
index 167dd397dd..9a82aa3f37 100644
--- a/packages/frontend-plugin-api/src/extensions/createPageExtension.tsx
+++ b/packages/frontend-plugin-api/src/extensions/createPageExtension.tsx
@@ -63,7 +63,7 @@ export function createPageExtension<
return createExtension({
id: options.id,
- at: options.at ?? 'core.router/routes',
+ at: options.at ?? 'core.routes/routes',
disabled: options.disabled,
output: {
component: coreExtensionData.reactComponent,
diff --git a/packages/frontend-plugin-api/src/wiring/createExtension.ts b/packages/frontend-plugin-api/src/wiring/createExtension.ts
index bcea03595b..1a7e02804e 100644
--- a/packages/frontend-plugin-api/src/wiring/createExtension.ts
+++ b/packages/frontend-plugin-api/src/wiring/createExtension.ts
@@ -87,7 +87,7 @@ export function createExtension<
return {
...options,
disabled: options.disabled ?? false,
- $$type: 'extension',
+ $$type: '@backstage/Extension',
inputs: options.inputs ?? {},
factory({ bind, config, inputs }) {
// TODO: Simplify this, but TS wouldn't infer the input type for some reason
diff --git a/packages/frontend-plugin-api/src/wiring/createExtensionDataRef.ts b/packages/frontend-plugin-api/src/wiring/createExtensionDataRef.ts
index 6d6309bee4..d0d96e85f9 100644
--- a/packages/frontend-plugin-api/src/wiring/createExtensionDataRef.ts
+++ b/packages/frontend-plugin-api/src/wiring/createExtensionDataRef.ts
@@ -22,7 +22,7 @@ export type ExtensionDataRef<
id: string;
T: TData;
config: TConfig;
- $$type: 'extension-data';
+ $$type: '@backstage/ExtensionDataRef';
};
/** @public */
@@ -40,7 +40,7 @@ export function createExtensionDataRef(
): ConfigurableExtensionDataRef {
return {
id,
- $$type: 'extension-data',
+ $$type: '@backstage/ExtensionDataRef',
config: {},
optional() {
return { ...this, config: { ...this.config, optional: true } };
diff --git a/packages/frontend-plugin-api/src/wiring/createPlugin.test.ts b/packages/frontend-plugin-api/src/wiring/createPlugin.test.ts
index 724dad5143..a8ec7b3471 100644
--- a/packages/frontend-plugin-api/src/wiring/createPlugin.test.ts
+++ b/packages/frontend-plugin-api/src/wiring/createPlugin.test.ts
@@ -23,6 +23,7 @@ import { JsonObject } from '@backstage/types';
import { createExtension } from './createExtension';
import { createExtensionDataRef } from './createExtensionDataRef';
import { coreExtensionData } from './coreExtensionData';
+import { MockConfigApi } from '@backstage/test-utils';
const nameExtensionDataRef = createExtensionDataRef('name');
@@ -113,17 +114,10 @@ function createTestAppRoot({
plugins: BackstagePlugin[];
config: JsonObject;
}) {
- Object.defineProperty(process.env, 'APP_CONFIG', {
- value: [
- {
- data: config,
- context: 'test',
- },
- ],
- configurable: true,
- });
-
- return createApp({ plugins: plugins }).createRoot();
+ return createApp({
+ plugins: plugins,
+ config: new MockConfigApi(config),
+ }).createRoot();
}
describe('createPlugin', () => {
@@ -143,7 +137,7 @@ describe('createPlugin', () => {
render(
createTestAppRoot({
plugins: [plugin],
- config: { app: { extensions: [{ 'core.router': false }] } },
+ config: { app: { extensions: [{ 'core.layout': false }] } },
}),
);
@@ -169,7 +163,7 @@ describe('createPlugin', () => {
config: {
app: {
extensions: [
- { 'core.router': false },
+ { 'core.layout': false },
{
'plugin.catalog.page': {
config: { name: 'CatalogRenamed' },
diff --git a/packages/frontend-plugin-api/src/wiring/createPlugin.ts b/packages/frontend-plugin-api/src/wiring/createPlugin.ts
index 7f7e44ff03..bb372f63c1 100644
--- a/packages/frontend-plugin-api/src/wiring/createPlugin.ts
+++ b/packages/frontend-plugin-api/src/wiring/createPlugin.ts
@@ -24,7 +24,7 @@ export interface PluginOptions {
/** @public */
export interface BackstagePlugin {
- $$type: 'backstage-plugin';
+ $$type: '@backstage/BackstagePlugin';
id: string;
extensions: Extension[];
}
@@ -33,7 +33,7 @@ export interface BackstagePlugin {
export function createPlugin(options: PluginOptions): BackstagePlugin {
return {
...options,
- $$type: 'backstage-plugin',
+ $$type: '@backstage/BackstagePlugin',
extensions: options.extensions ?? [],
};
}
diff --git a/packages/frontend-plugin-api/src/wiring/types.ts b/packages/frontend-plugin-api/src/wiring/types.ts
index dbe4633ff5..46b76e30f4 100644
--- a/packages/frontend-plugin-api/src/wiring/types.ts
+++ b/packages/frontend-plugin-api/src/wiring/types.ts
@@ -26,7 +26,7 @@ export type AnyExtensionDataMap = {
/** @public */
export interface Extension {
- $$type: 'extension';
+ $$type: '@backstage/Extension';
id: string;
at: string;
disabled: boolean;
diff --git a/packages/integration-aws-node/CHANGELOG.md b/packages/integration-aws-node/CHANGELOG.md
index e251a013ea..dc02aa5eb6 100644
--- a/packages/integration-aws-node/CHANGELOG.md
+++ b/packages/integration-aws-node/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/integration-aws-node
+## 0.1.6-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+
## 0.1.6-next.1
### Patch Changes
diff --git a/packages/integration-aws-node/package.json b/packages/integration-aws-node/package.json
index 34d5aede67..225d5fa679 100644
--- a/packages/integration-aws-node/package.json
+++ b/packages/integration-aws-node/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/integration-aws-node",
"description": "Helpers for fetching AWS account credentials",
- "version": "0.1.6-next.1",
+ "version": "0.1.6-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
diff --git a/packages/integration-react/CHANGELOG.md b/packages/integration-react/CHANGELOG.md
index 5555d52bc9..0f6b18f5ab 100644
--- a/packages/integration-react/CHANGELOG.md
+++ b/packages/integration-react/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/integration-react
+## 1.1.19-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 1.1.19-next.2
### Patch Changes
diff --git a/packages/integration-react/package.json b/packages/integration-react/package.json
index f20d7dd662..253a775721 100644
--- a/packages/integration-react/package.json
+++ b/packages/integration-react/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/integration-react",
"description": "Frontend package for managing integrations towards external systems",
- "version": "1.1.19-next.2",
+ "version": "1.1.19-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/packages/integration/CHANGELOG.md b/packages/integration/CHANGELOG.md
index c9bb363d4c..b13e96db9f 100644
--- a/packages/integration/CHANGELOG.md
+++ b/packages/integration/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/integration
+## 1.7.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+
## 1.7.0-next.2
### Patch Changes
diff --git a/packages/integration/package.json b/packages/integration/package.json
index 3e4f7ec2f2..d522b0f803 100644
--- a/packages/integration/package.json
+++ b/packages/integration/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/integration",
"description": "Helpers for managing integrations towards external systems",
- "version": "1.7.0-next.2",
+ "version": "1.7.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/packages/release-manifests/CHANGELOG.md b/packages/release-manifests/CHANGELOG.md
index 024aa18386..df166cf1fc 100644
--- a/packages/release-manifests/CHANGELOG.md
+++ b/packages/release-manifests/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/release-manifests
+## 0.0.10-next.1
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
## 0.0.10-next.0
### Patch Changes
diff --git a/packages/release-manifests/package.json b/packages/release-manifests/package.json
index e5169bc681..4c95e92c27 100644
--- a/packages/release-manifests/package.json
+++ b/packages/release-manifests/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/release-manifests",
"description": "Helper library for receiving release manifests",
- "version": "0.0.10-next.0",
+ "version": "0.0.10-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
diff --git a/packages/repo-tools/CHANGELOG.md b/packages/repo-tools/CHANGELOG.md
index 5fff69f612..076e963437 100644
--- a/packages/repo-tools/CHANGELOG.md
+++ b/packages/repo-tools/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/repo-tools
+## 0.3.4-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/cli-common@0.1.12
+ - @backstage/cli-node@0.1.4-next.0
+
## 0.3.4-next.2
### Patch Changes
diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json
index 49cb6578f3..3b38ad01b1 100644
--- a/packages/repo-tools/package.json
+++ b/packages/repo-tools/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/repo-tools",
"description": "CLI for Backstage repo tooling ",
- "version": "0.3.4-next.2",
+ "version": "0.3.4-next.3",
"publishConfig": {
"access": "public"
},
diff --git a/packages/techdocs-cli-embedded-app/CHANGELOG.md b/packages/techdocs-cli-embedded-app/CHANGELOG.md
index 96af70f375..ba99062427 100644
--- a/packages/techdocs-cli-embedded-app/CHANGELOG.md
+++ b/packages/techdocs-cli-embedded-app/CHANGELOG.md
@@ -1,5 +1,24 @@
# techdocs-cli-embedded-app
+## 0.2.86-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.22.13-next.3
+ - @backstage/test-utils@1.4.3-next.3
+ - @backstage/app-defaults@1.4.3-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog@1.13.0-next.3
+ - @backstage/plugin-techdocs@1.7.0-next.3
+ - @backstage/plugin-techdocs-react@1.1.10-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.86-next.2
### Patch Changes
diff --git a/packages/techdocs-cli-embedded-app/package.json b/packages/techdocs-cli-embedded-app/package.json
index 8847b535a9..6237ac658f 100644
--- a/packages/techdocs-cli-embedded-app/package.json
+++ b/packages/techdocs-cli-embedded-app/package.json
@@ -1,6 +1,6 @@
{
"name": "techdocs-cli-embedded-app",
- "version": "0.2.86-next.2",
+ "version": "0.2.86-next.3",
"private": true,
"backstage": {
"role": "frontend"
diff --git a/packages/techdocs-cli/CHANGELOG.md b/packages/techdocs-cli/CHANGELOG.md
index cbaa7ac27c..889855e2c1 100644
--- a/packages/techdocs-cli/CHANGELOG.md
+++ b/packages/techdocs-cli/CHANGELOG.md
@@ -1,5 +1,16 @@
# @techdocs/cli
+## 1.5.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/cli-common@0.1.12
+ - @backstage/plugin-techdocs-node@1.8.0-next.3
+
## 1.5.0-next.2
### Patch Changes
diff --git a/packages/techdocs-cli/package.json b/packages/techdocs-cli/package.json
index 7adf7561bc..70bb000257 100644
--- a/packages/techdocs-cli/package.json
+++ b/packages/techdocs-cli/package.json
@@ -1,7 +1,7 @@
{
"name": "@techdocs/cli",
"description": "Utility CLI for managing TechDocs sites in Backstage.",
- "version": "1.5.0-next.2",
+ "version": "1.5.0-next.3",
"publishConfig": {
"access": "public"
},
diff --git a/packages/test-utils/CHANGELOG.md b/packages/test-utils/CHANGELOG.md
index e2170a7169..2d5abefcc2 100644
--- a/packages/test-utils/CHANGELOG.md
+++ b/packages/test-utils/CHANGELOG.md
@@ -1,5 +1,20 @@
# @backstage/test-utils
+## 1.4.3-next.3
+
+### Patch Changes
+
+- 7032c214f3b4: Add pod exec terminal to Container Card
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
## 1.4.3-next.2
### Patch Changes
diff --git a/packages/test-utils/api-report.md b/packages/test-utils/api-report.md
index d4b38a243e..fe4edd627a 100644
--- a/packages/test-utils/api-report.md
+++ b/packages/test-utils/api-report.md
@@ -26,6 +26,7 @@ import { JsonValue } from '@backstage/types';
import { MatcherFunction } from '@testing-library/react';
import { Observable } from '@backstage/types';
import { PermissionApi } from '@backstage/plugin-permission-react';
+import { PropsWithChildren } from 'react';
import { default as React_2 } from 'react';
import { ReactElement } from 'react';
import { ReactNode } from 'react';
@@ -192,7 +193,7 @@ export type MockStorageBucket = {
// @public
export function renderInTestApp(
- Component: ComponentType | ReactNode,
+ Component: ComponentType> | ReactNode,
options?: TestAppOptions,
): Promise;
diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json
index 1ba9c0229e..ccfbb30a20 100644
--- a/packages/test-utils/package.json
+++ b/packages/test-utils/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/test-utils",
"description": "Utilities to test Backstage plugins and apps.",
- "version": "1.4.3-next.2",
+ "version": "1.4.3-next.3",
"publishConfig": {
"access": "public"
},
diff --git a/packages/test-utils/src/testUtils/appWrappers.tsx b/packages/test-utils/src/testUtils/appWrappers.tsx
index 0aec9ff4f8..a95fdf6d8f 100644
--- a/packages/test-utils/src/testUtils/appWrappers.tsx
+++ b/packages/test-utils/src/testUtils/appWrappers.tsx
@@ -14,7 +14,12 @@
* limitations under the License.
*/
-import React, { ComponentType, ReactNode, ReactElement } from 'react';
+import React, {
+ ComponentType,
+ ReactNode,
+ ReactElement,
+ PropsWithChildren,
+} from 'react';
import { MemoryRouter } from 'react-router-dom';
import { Route } from 'react-router-dom';
import { UnifiedThemeProvider, themes } from '@backstage/theme';
@@ -226,7 +231,7 @@ export function wrapInTestApp(
* @public
*/
export async function renderInTestApp(
- Component: ComponentType | ReactNode,
+ Component: ComponentType> | ReactNode,
options: TestAppOptions = {},
): Promise {
let wrappedElement: React.ReactElement;
diff --git a/packages/theme/CHANGELOG.md b/packages/theme/CHANGELOG.md
index bd0eda744b..695d5fb8fa 100644
--- a/packages/theme/CHANGELOG.md
+++ b/packages/theme/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/theme
+## 0.4.2-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
## 0.4.1
### Patch Changes
diff --git a/packages/theme/package.json b/packages/theme/package.json
index 1e035770e7..abcc6a2b32 100644
--- a/packages/theme/package.json
+++ b/packages/theme/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/theme",
"description": "material-ui theme for use with Backstage.",
- "version": "0.4.1",
+ "version": "0.4.2-next.0",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md
index 392e39c964..42fa968b3c 100644
--- a/packages/types/CHANGELOG.md
+++ b/packages/types/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/types
+## 1.1.1-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
## 1.1.0
### Minor Changes
diff --git a/packages/types/package.json b/packages/types/package.json
index 29092dfdff..4c2574f920 100644
--- a/packages/types/package.json
+++ b/packages/types/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/types",
"description": "Common TypeScript types used within Backstage",
- "version": "1.1.0",
+ "version": "1.1.1-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/packages/version-bridge/CHANGELOG.md b/packages/version-bridge/CHANGELOG.md
index 798ee5165c..58b278c3d1 100644
--- a/packages/version-bridge/CHANGELOG.md
+++ b/packages/version-bridge/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/version-bridge
+## 1.0.5-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
## 1.0.4
### Patch Changes
diff --git a/packages/version-bridge/package.json b/packages/version-bridge/package.json
index eb08531674..d0b5c33a7e 100644
--- a/packages/version-bridge/package.json
+++ b/packages/version-bridge/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/version-bridge",
"description": "Utilities used by @backstage packages to support multiple concurrent versions",
- "version": "1.0.4",
+ "version": "1.0.5-next.0",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
diff --git a/packages/version-bridge/src/lib/VersionedContext.test.tsx b/packages/version-bridge/src/lib/VersionedContext.test.tsx
index 659fd9b5b9..275e491324 100644
--- a/packages/version-bridge/src/lib/VersionedContext.test.tsx
+++ b/packages/version-bridge/src/lib/VersionedContext.test.tsx
@@ -30,7 +30,7 @@ describe('VersionedContext', () => {
const Context = createVersionedContext('test-context-1');
const rendered = renderHook(() => useContext(Context), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
@@ -47,7 +47,7 @@ describe('VersionedContext', () => {
const Context = createVersionedContext('test-context-2');
const rendered = renderHook(() => useVersionedContext('test-context-2'), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
diff --git a/plugins/adr-backend/CHANGELOG.md b/plugins/adr-backend/CHANGELOG.md
index cc78d9d886..6c50f1a51d 100644
--- a/plugins/adr-backend/CHANGELOG.md
+++ b/plugins/adr-backend/CHANGELOG.md
@@ -1,5 +1,38 @@
# @backstage/plugin-adr-backend
+## 0.4.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/plugin-adr-common@0.2.15-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.3.9-next.2
### Patch Changes
diff --git a/plugins/adr-backend/package.json b/plugins/adr-backend/package.json
index 80d0e65f5b..ed17cd3310 100644
--- a/plugins/adr-backend/package.json
+++ b/plugins/adr-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-adr-backend",
- "version": "0.3.9-next.2",
+ "version": "0.4.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/adr-common/CHANGELOG.md b/plugins/adr-common/CHANGELOG.md
index 13cc0dfa53..6fb6984988 100644
--- a/plugins/adr-common/CHANGELOG.md
+++ b/plugins/adr-common/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-adr-common
+## 0.2.15-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+
## 0.2.15-next.2
### Patch Changes
diff --git a/plugins/adr-common/package.json b/plugins/adr-common/package.json
index e9315cab0d..6df2fd8242 100644
--- a/plugins/adr-common/package.json
+++ b/plugins/adr-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-adr-common",
"description": "Common functionalities for the adr plugin",
- "version": "0.2.15-next.2",
+ "version": "0.2.15-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/adr/CHANGELOG.md b/plugins/adr/CHANGELOG.md
index 17009339d9..429632133c 100644
--- a/plugins/adr/CHANGELOG.md
+++ b/plugins/adr/CHANGELOG.md
@@ -1,5 +1,22 @@
# @backstage/plugin-adr
+## 0.6.7-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- aa844e704a32: support for i18n feature
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-adr-common@0.2.15-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.6.7-next.2
### Patch Changes
diff --git a/plugins/adr/alpha-api-report.md b/plugins/adr/alpha-api-report.md
new file mode 100644
index 0000000000..1d2b3f313d
--- /dev/null
+++ b/plugins/adr/alpha-api-report.md
@@ -0,0 +1,16 @@
+## API Report File for "@backstage/plugin-adr"
+
+> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
+
+```ts
+import { TranslationRef } from '@backstage/core-plugin-api/alpha';
+
+// @alpha (undocumented)
+export const adrTranslationRef: TranslationRef<{
+ readonly content_header_title: 'Architecture Decision Records';
+ readonly failed_to_fetch: 'Failed to fetch ADRs';
+ readonly no_adrs: 'No ADRs found';
+}>;
+
+// (No @packageDocumentation comment for this package)
+```
diff --git a/plugins/adr/package.json b/plugins/adr/package.json
index d288f92d9c..ff61f8dd2d 100644
--- a/plugins/adr/package.json
+++ b/plugins/adr/package.json
@@ -1,13 +1,26 @@
{
"name": "@backstage/plugin-adr",
- "version": "0.6.7-next.2",
+ "version": "0.6.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
+ "exports": {
+ ".": "./src/index.ts",
+ "./alpha": "./src/alpha.ts",
+ "./package.json": "./package.json"
+ },
+ "typesVersions": {
+ "*": {
+ "alpha": [
+ "src/alpha.ts"
+ ],
+ "package.json": [
+ "package.json"
+ ]
+ }
+ },
"publishConfig": {
- "access": "public",
- "main": "dist/index.esm.js",
- "types": "dist/index.d.ts"
+ "access": "public"
},
"backstage": {
"role": "frontend-plugin"
diff --git a/plugins/adr/src/alpha.ts b/plugins/adr/src/alpha.ts
new file mode 100644
index 0000000000..587cfce3d6
--- /dev/null
+++ b/plugins/adr/src/alpha.ts
@@ -0,0 +1,16 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export * from './translations';
diff --git a/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx b/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx
index 32e353eba9..8081043a9f 100644
--- a/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx
+++ b/plugins/adr/src/components/EntityAdrContent/EntityAdrContent.tsx
@@ -59,6 +59,8 @@ import FolderIcon from '@material-ui/icons/Folder';
import { adrApiRef, AdrFileInfo } from '../../api';
import { rootRouteRef } from '../../routes';
import { AdrContentDecorator, AdrReader } from '../AdrReader';
+import { useTranslationRef } from '@backstage/core-plugin-api/alpha';
+import { adrTranslationRef } from '../../translations';
const useStyles = makeStyles((theme: Theme) => ({
adrMenu: {
@@ -169,6 +171,7 @@ export const EntityAdrContent = (props: {
const scmIntegrations = useApi(scmIntegrationsApiRef);
const adrApi = useApi(adrApiRef);
const entityHasAdrs = isAdrAvailable(entity);
+ const t = useTranslationRef(adrTranslationRef);
const config = useApi(configApiRef);
const appSupportConfigured = config?.getOptionalConfig('app.support');
@@ -214,7 +217,7 @@ export const EntityAdrContent = (props: {
return (
-
+
{appSupportConfigured && }
@@ -225,7 +228,7 @@ export const EntityAdrContent = (props: {
{loading && }
{entityHasAdrs && !loading && error && (
-
+
)}
{entityHasAdrs &&
@@ -252,7 +255,7 @@ export const EntityAdrContent = (props: {
) : (
- No ADRs found
+ {t('no_adrs')}
))}
);
diff --git a/plugins/adr/src/translations.ts b/plugins/adr/src/translations.ts
new file mode 100644
index 0000000000..5cef279e66
--- /dev/null
+++ b/plugins/adr/src/translations.ts
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { createTranslationRef } from '@backstage/core-plugin-api/alpha';
+
+/** @alpha */
+export const adrTranslationRef = createTranslationRef({
+ id: 'adr',
+ messages: {
+ content_header_title: 'Architecture Decision Records',
+ failed_to_fetch: 'Failed to fetch ADRs',
+ no_adrs: 'No ADRs found',
+ } as const,
+});
diff --git a/plugins/airbrake-backend/CHANGELOG.md b/plugins/airbrake-backend/CHANGELOG.md
index d750762517..15bfb467a3 100644
--- a/plugins/airbrake-backend/CHANGELOG.md
+++ b/plugins/airbrake-backend/CHANGELOG.md
@@ -1,5 +1,32 @@
# @backstage/plugin-airbrake-backend
+## 0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.2.24-next.2
### Patch Changes
diff --git a/plugins/airbrake-backend/package.json b/plugins/airbrake-backend/package.json
index 141551c20b..c6a34f5b24 100644
--- a/plugins/airbrake-backend/package.json
+++ b/plugins/airbrake-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-airbrake-backend",
- "version": "0.2.24-next.2",
+ "version": "0.3.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/airbrake/CHANGELOG.md b/plugins/airbrake/CHANGELOG.md
index fe22cddd46..de613ff54e 100644
--- a/plugins/airbrake/CHANGELOG.md
+++ b/plugins/airbrake/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-airbrake
+## 0.3.24-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/test-utils@1.4.3-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/dev-utils@1.0.21-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.3.24-next.2
### Patch Changes
diff --git a/plugins/airbrake/package.json b/plugins/airbrake/package.json
index 2ed15d168b..93d2684219 100644
--- a/plugins/airbrake/package.json
+++ b/plugins/airbrake/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-airbrake",
- "version": "0.3.24-next.2",
+ "version": "0.3.24-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/allure/CHANGELOG.md b/plugins/allure/CHANGELOG.md
index f61140dd91..9500903b34 100644
--- a/plugins/allure/CHANGELOG.md
+++ b/plugins/allure/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-allure
+## 0.1.40-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.40-next.2
### Patch Changes
diff --git a/plugins/allure/package.json b/plugins/allure/package.json
index 90055b48d2..fd210c85b2 100644
--- a/plugins/allure/package.json
+++ b/plugins/allure/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-allure",
"description": "A Backstage plugin that integrates with Allure",
- "version": "0.1.40-next.2",
+ "version": "0.1.40-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/analytics-module-ga/CHANGELOG.md b/plugins/analytics-module-ga/CHANGELOG.md
index 7236fd68d5..3e62f31e51 100644
--- a/plugins/analytics-module-ga/CHANGELOG.md
+++ b/plugins/analytics-module-ga/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-analytics-module-ga
+## 0.1.33-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.33-next.2
### Patch Changes
diff --git a/plugins/analytics-module-ga/package.json b/plugins/analytics-module-ga/package.json
index 91bc1029b2..05610f836a 100644
--- a/plugins/analytics-module-ga/package.json
+++ b/plugins/analytics-module-ga/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-analytics-module-ga",
- "version": "0.1.33-next.2",
+ "version": "0.1.33-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/analytics-module-ga4/CHANGELOG.md b/plugins/analytics-module-ga4/CHANGELOG.md
index ba52a27703..369c9c281b 100644
--- a/plugins/analytics-module-ga4/CHANGELOG.md
+++ b/plugins/analytics-module-ga4/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-analytics-module-ga4
+## 0.1.4-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.4-next.2
### Patch Changes
diff --git a/plugins/analytics-module-ga4/package.json b/plugins/analytics-module-ga4/package.json
index 2ec3e28c93..107aa1f3b2 100644
--- a/plugins/analytics-module-ga4/package.json
+++ b/plugins/analytics-module-ga4/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-analytics-module-ga4",
- "version": "0.1.4-next.2",
+ "version": "0.1.4-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/analytics-module-newrelic-browser/CHANGELOG.md b/plugins/analytics-module-newrelic-browser/CHANGELOG.md
index 59b4b9dfc8..2988aad119 100644
--- a/plugins/analytics-module-newrelic-browser/CHANGELOG.md
+++ b/plugins/analytics-module-newrelic-browser/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-analytics-module-newrelic-browser
+## 0.0.2-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+
## 0.0.2-next.2
### Patch Changes
diff --git a/plugins/analytics-module-newrelic-browser/package.json b/plugins/analytics-module-newrelic-browser/package.json
index 860d33e809..c2e7a254ca 100644
--- a/plugins/analytics-module-newrelic-browser/package.json
+++ b/plugins/analytics-module-newrelic-browser/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-analytics-module-newrelic-browser",
- "version": "0.0.2-next.2",
+ "version": "0.0.2-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/apache-airflow/CHANGELOG.md b/plugins/apache-airflow/CHANGELOG.md
index a73eb1a44a..e83103d5b5 100644
--- a/plugins/apache-airflow/CHANGELOG.md
+++ b/plugins/apache-airflow/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-apache-airflow
+## 0.2.15-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+
## 0.2.15-next.2
### Patch Changes
diff --git a/plugins/apache-airflow/package.json b/plugins/apache-airflow/package.json
index 61e4f349c7..aa29fe84c9 100644
--- a/plugins/apache-airflow/package.json
+++ b/plugins/apache-airflow/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-apache-airflow",
- "version": "0.2.15-next.2",
+ "version": "0.2.15-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/api-docs-module-protoc-gen-doc/CHANGELOG.md b/plugins/api-docs-module-protoc-gen-doc/CHANGELOG.md
index 4c35a4eab9..84db7d0e7b 100644
--- a/plugins/api-docs-module-protoc-gen-doc/CHANGELOG.md
+++ b/plugins/api-docs-module-protoc-gen-doc/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/plugin-api-docs-module-protoc-gen-doc
+## 0.1.3-next.1
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
## 0.1.3-next.0
### Patch Changes
diff --git a/plugins/api-docs-module-protoc-gen-doc/package.json b/plugins/api-docs-module-protoc-gen-doc/package.json
index 64942f3f3b..2066f6a620 100644
--- a/plugins/api-docs-module-protoc-gen-doc/package.json
+++ b/plugins/api-docs-module-protoc-gen-doc/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-api-docs-module-protoc-gen-doc",
"description": "Additional functionalities for the api-docs plugin that renders the output of the protoc-gen-doc",
- "version": "0.1.3-next.0",
+ "version": "0.1.3-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/api-docs/CHANGELOG.md b/plugins/api-docs/CHANGELOG.md
index 775286fdc4..e2b7274fe9 100644
--- a/plugins/api-docs/CHANGELOG.md
+++ b/plugins/api-docs/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-api-docs
+## 0.9.11-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog@1.13.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.9.11-next.2
### Patch Changes
diff --git a/plugins/api-docs/package.json b/plugins/api-docs/package.json
index 4257d26cf8..280b3bde07 100644
--- a/plugins/api-docs/package.json
+++ b/plugins/api-docs/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-api-docs",
"description": "A Backstage plugin that helps represent API entities in the frontend",
- "version": "0.9.11-next.2",
+ "version": "0.9.11-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/apollo-explorer/CHANGELOG.md b/plugins/apollo-explorer/CHANGELOG.md
index 1f3c0d445b..b67c6c3aaf 100644
--- a/plugins/apollo-explorer/CHANGELOG.md
+++ b/plugins/apollo-explorer/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-apollo-explorer
+## 0.1.15-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.15-next.2
### Patch Changes
diff --git a/plugins/apollo-explorer/package.json b/plugins/apollo-explorer/package.json
index e6782fae91..bd98d9b44f 100644
--- a/plugins/apollo-explorer/package.json
+++ b/plugins/apollo-explorer/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-apollo-explorer",
- "version": "0.1.15-next.2",
+ "version": "0.1.15-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/app-backend/CHANGELOG.md b/plugins/app-backend/CHANGELOG.md
index 3bcbd4a8bb..ecc0331afc 100644
--- a/plugins/app-backend/CHANGELOG.md
+++ b/plugins/app-backend/CHANGELOG.md
@@ -1,5 +1,33 @@
# @backstage/plugin-app-backend
+## 0.3.51-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/config-loader@1.5.0-next.3
+ - @backstage/plugin-app-node@0.1.3-next.3
+
## 0.3.51-next.2
### Patch Changes
diff --git a/plugins/app-backend/package.json b/plugins/app-backend/package.json
index 9db3d48bf0..54e6449013 100644
--- a/plugins/app-backend/package.json
+++ b/plugins/app-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-app-backend",
"description": "A Backstage backend plugin that serves the Backstage frontend app",
- "version": "0.3.51-next.2",
+ "version": "0.3.51-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/app-node/CHANGELOG.md b/plugins/app-node/CHANGELOG.md
index 537e4915d9..33222b239a 100644
--- a/plugins/app-node/CHANGELOG.md
+++ b/plugins/app-node/CHANGELOG.md
@@ -1,5 +1,12 @@
# @backstage/plugin-app-node
+## 0.1.3-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+
## 0.1.3-next.2
### Patch Changes
diff --git a/plugins/app-node/package.json b/plugins/app-node/package.json
index f0f415f901..18edd3828e 100644
--- a/plugins/app-node/package.json
+++ b/plugins/app-node/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-app-node",
"description": "Node.js library for the app plugin",
- "version": "0.1.3-next.2",
+ "version": "0.1.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md b/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md
index 32fdb2473a..126e6e8fe5 100644
--- a/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md
+++ b/plugins/auth-backend-module-gcp-iap-provider/CHANGELOG.md
@@ -1,5 +1,31 @@
# @backstage/plugin-auth-backend-module-gcp-iap-provider
+## 0.1.0-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.1.0-next.2
### Patch Changes
diff --git a/plugins/auth-backend-module-gcp-iap-provider/package.json b/plugins/auth-backend-module-gcp-iap-provider/package.json
index 8b2111cfb1..75d16cd6ed 100644
--- a/plugins/auth-backend-module-gcp-iap-provider/package.json
+++ b/plugins/auth-backend-module-gcp-iap-provider/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-auth-backend-module-gcp-iap-provider",
"description": "A GCP IAP auth provider module for the Backstage auth backend",
- "version": "0.1.0-next.2",
+ "version": "0.1.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/auth-backend-module-github-provider/CHANGELOG.md b/plugins/auth-backend-module-github-provider/CHANGELOG.md
index d347796a43..09319b6cb0 100644
--- a/plugins/auth-backend-module-github-provider/CHANGELOG.md
+++ b/plugins/auth-backend-module-github-provider/CHANGELOG.md
@@ -1,5 +1,30 @@
# @backstage/plugin-auth-backend-module-github-provider
+## 0.1.0-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.1.0-next.2
### Patch Changes
diff --git a/plugins/auth-backend-module-github-provider/package.json b/plugins/auth-backend-module-github-provider/package.json
index ec57147a4b..40010cf0be 100644
--- a/plugins/auth-backend-module-github-provider/package.json
+++ b/plugins/auth-backend-module-github-provider/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-auth-backend-module-github-provider",
"description": "The github-provider backend module for the auth plugin.",
- "version": "0.1.0-next.2",
+ "version": "0.1.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md b/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md
index 54c2240c17..67f96087ed 100644
--- a/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md
+++ b/plugins/auth-backend-module-gitlab-provider/CHANGELOG.md
@@ -1,5 +1,30 @@
# @backstage/plugin-auth-backend-module-gitlab-provider
+## 0.1.0-next.2
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.1.0-next.1
### Patch Changes
diff --git a/plugins/auth-backend-module-gitlab-provider/package.json b/plugins/auth-backend-module-gitlab-provider/package.json
index 090dfe6dfb..52f61d5d9a 100644
--- a/plugins/auth-backend-module-gitlab-provider/package.json
+++ b/plugins/auth-backend-module-gitlab-provider/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-auth-backend-module-gitlab-provider",
"description": "The gitlab-provider backend module for the auth plugin.",
- "version": "0.1.0-next.1",
+ "version": "0.1.0-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/auth-backend-module-google-provider/CHANGELOG.md b/plugins/auth-backend-module-google-provider/CHANGELOG.md
index e74380aa3a..4ca6bb78b9 100644
--- a/plugins/auth-backend-module-google-provider/CHANGELOG.md
+++ b/plugins/auth-backend-module-google-provider/CHANGELOG.md
@@ -1,5 +1,29 @@
# @backstage/plugin-auth-backend-module-google-provider
+## 0.1.0-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.1.0-next.2
### Patch Changes
diff --git a/plugins/auth-backend-module-google-provider/package.json b/plugins/auth-backend-module-google-provider/package.json
index 9c8f6201e2..a9829db7c0 100644
--- a/plugins/auth-backend-module-google-provider/package.json
+++ b/plugins/auth-backend-module-google-provider/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-auth-backend-module-google-provider",
"description": "A Google auth provider module for the Backstage auth backend",
- "version": "0.1.0-next.2",
+ "version": "0.1.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/auth-backend-module-oauth2-provider/.eslintrc.js b/plugins/auth-backend-module-oauth2-provider/.eslintrc.js
new file mode 100644
index 0000000000..e2a53a6ad2
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/.eslintrc.js
@@ -0,0 +1 @@
+module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
diff --git a/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md b/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md
new file mode 100644
index 0000000000..583693a705
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/CHANGELOG.md
@@ -0,0 +1,14 @@
+# @backstage/plugin-auth-backend-module-oauth2-provider
+
+## 0.1.0-next.0
+
+### Minor Changes
+
+- 101cf1d13b04: New module for `@backstage/plugin-auth-backend` that adds a `oauth2` auth provider.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
diff --git a/plugins/auth-backend-module-oauth2-provider/README.md b/plugins/auth-backend-module-oauth2-provider/README.md
new file mode 100644
index 0000000000..6c23d24ff3
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/README.md
@@ -0,0 +1,8 @@
+# Auth Module: oauth2 Provider
+
+This module provides an oauth2 auth provider implementation for `@backstage/plugin-auth-backend`.
+
+## Links
+
+- [Repository](https://oauth2.com/backstage/backstage/tree/master/plugins/auth-backend-module-oauth2-provider)
+- [Backstage Project Homepage](https://backstage.io)
diff --git a/plugins/auth-backend-module-oauth2-provider/api-report.md b/plugins/auth-backend-module-oauth2-provider/api-report.md
new file mode 100644
index 0000000000..5a927428ec
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/api-report.md
@@ -0,0 +1,30 @@
+## API Report File for "@backstage/plugin-auth-backend-module-oauth2-provider"
+
+> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
+
+```ts
+import { BackendFeature } from '@backstage/backend-plugin-api';
+import { OAuthAuthenticator } from '@backstage/plugin-auth-node';
+import { OAuthAuthenticatorResult } from '@backstage/plugin-auth-node';
+import { PassportOAuthAuthenticatorHelper } from '@backstage/plugin-auth-node';
+import { PassportProfile } from '@backstage/plugin-auth-node';
+import { SignInResolverFactory } from '@backstage/plugin-auth-node';
+
+// @public (undocumented)
+const authModuleOauth2Provider: () => BackendFeature;
+export default authModuleOauth2Provider;
+
+// @public (undocumented)
+export const oauth2Authenticator: OAuthAuthenticator<
+ PassportOAuthAuthenticatorHelper,
+ PassportProfile
+>;
+
+// @public
+export namespace oauth2SignInResolvers {
+ const usernameMatchingUserEntityName: SignInResolverFactory<
+ OAuthAuthenticatorResult,
+ unknown
+ >;
+}
+```
diff --git a/plugins/auth-backend-module-oauth2-provider/catalog-info.yaml b/plugins/auth-backend-module-oauth2-provider/catalog-info.yaml
new file mode 100644
index 0000000000..4ee7997b0c
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/catalog-info.yaml
@@ -0,0 +1,10 @@
+apiVersion: backstage.io/v1alpha1
+kind: Component
+metadata:
+ name: backstage-plugin-auth-backend-module-oauth2-provider
+ title: '@backstage/plugin-auth-backend-module-oauth2-provider'
+ description: The oauth2-provider backend module for the auth plugin.
+spec:
+ lifecycle: experimental
+ type: backstage-backend-plugin-module
+ owner: maintainers
diff --git a/plugins/auth-backend-module-oauth2-provider/config.d.ts b/plugins/auth-backend-module-oauth2-provider/config.d.ts
new file mode 100644
index 0000000000..afbfcf8f67
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/config.d.ts
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2020 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+export interface Config {
+ auth?: {
+ providers?: {
+ /** @visibility frontend */
+ oauth2?: {
+ [authEnv: string]: {
+ clientId: string;
+ /**
+ * @visibility secret
+ */
+ clientSecret: string;
+ authorizationUrl: string;
+ tokenUrl: string;
+ scope?: string;
+ disableRefresh?: boolean;
+ includeBasicAuth?: boolean;
+ };
+ };
+ };
+ };
+}
diff --git a/plugins/auth-backend-module-oauth2-provider/dev/index.ts b/plugins/auth-backend-module-oauth2-provider/dev/index.ts
new file mode 100644
index 0000000000..d3c18c1d48
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/dev/index.ts
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { createBackend } from '@backstage/backend-defaults';
+
+const backend = createBackend();
+
+backend.add(import('@backstage/plugin-auth-backend'));
+backend.add(import('../src'));
+
+backend.start();
diff --git a/plugins/auth-backend-module-oauth2-provider/package.json b/plugins/auth-backend-module-oauth2-provider/package.json
new file mode 100644
index 0000000000..85ffd64130
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/package.json
@@ -0,0 +1,45 @@
+{
+ "name": "@backstage/plugin-auth-backend-module-oauth2-provider",
+ "description": "The oauth2-provider backend module for the auth plugin.",
+ "version": "0.1.0-next.0",
+ "main": "src/index.ts",
+ "types": "src/index.ts",
+ "license": "Apache-2.0",
+ "publishConfig": {
+ "access": "public",
+ "main": "dist/index.cjs.js",
+ "types": "dist/index.d.ts"
+ },
+ "backstage": {
+ "role": "backend-plugin-module"
+ },
+ "scripts": {
+ "start": "backstage-cli package start",
+ "build": "backstage-cli package build",
+ "lint": "backstage-cli package lint",
+ "test": "backstage-cli package test",
+ "clean": "backstage-cli package clean",
+ "prepack": "backstage-cli package prepack",
+ "postpack": "backstage-cli package postpack"
+ },
+ "dependencies": {
+ "@backstage/backend-common": "workspace:^",
+ "@backstage/backend-plugin-api": "workspace:^",
+ "@backstage/plugin-auth-node": "workspace:^",
+ "express": "^4.18.2",
+ "passport": "^0.6.0",
+ "passport-oauth2": "^1.6.1"
+ },
+ "devDependencies": {
+ "@backstage/backend-defaults": "workspace:^",
+ "@backstage/backend-test-utils": "workspace:^",
+ "@backstage/cli": "workspace:^",
+ "@backstage/plugin-auth-backend": "workspace:^",
+ "supertest": "^6.3.3"
+ },
+ "configSchema": "config.d.ts",
+ "files": [
+ "dist",
+ "config.d.ts"
+ ]
+}
diff --git a/plugins/auth-backend-module-oauth2-provider/src/authenticator.ts b/plugins/auth-backend-module-oauth2-provider/src/authenticator.ts
new file mode 100644
index 0000000000..d6f84cf1c0
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/src/authenticator.ts
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { Strategy as Oauth2Strategy } from 'passport-oauth2';
+import {
+ createOAuthAuthenticator,
+ PassportOAuthAuthenticatorHelper,
+ PassportOAuthDoneCallback,
+ PassportProfile,
+} from '@backstage/plugin-auth-node';
+
+/** @public */
+export const oauth2Authenticator = createOAuthAuthenticator({
+ defaultProfileTransform:
+ PassportOAuthAuthenticatorHelper.defaultProfileTransform,
+ initialize({ callbackUrl, config }) {
+ const clientId = config.getString('clientId');
+ const clientSecret = config.getString('clientSecret');
+ const authorizationUrl = config.getString('authorizationUrl');
+ const tokenUrl = config.getString('tokenUrl');
+ const scope = config.getOptionalString('scope');
+ const includeBasicAuth = config.getOptionalBoolean('includeBasicAuth');
+
+ return PassportOAuthAuthenticatorHelper.from(
+ new Oauth2Strategy(
+ {
+ clientID: clientId,
+ clientSecret: clientSecret,
+ callbackURL: callbackUrl,
+ authorizationURL: authorizationUrl,
+ tokenURL: tokenUrl,
+ passReqToCallback: false,
+ scope: scope,
+ customHeaders: includeBasicAuth
+ ? {
+ Authorization: `Basic ${encodeClientCredentials(
+ clientId,
+ clientSecret,
+ )}`,
+ }
+ : undefined,
+ },
+ (
+ accessToken: any,
+ refreshToken: any,
+ params: any,
+ fullProfile: PassportProfile,
+ done: PassportOAuthDoneCallback,
+ ) => {
+ done(
+ undefined,
+ { fullProfile, params, accessToken },
+ { refreshToken },
+ );
+ },
+ ),
+ );
+ },
+
+ async start(input, helper) {
+ return helper.start(input, {
+ accessType: 'offline',
+ prompt: 'consent',
+ });
+ },
+
+ async authenticate(input, helper) {
+ return helper.authenticate(input);
+ },
+
+ async refresh(input, helper) {
+ return helper.refresh(input);
+ },
+});
+
+/** @private */
+function encodeClientCredentials(
+ clientID: string,
+ clientSecret: string,
+): string {
+ return Buffer.from(`${clientID}:${clientSecret}`).toString('base64');
+}
diff --git a/plugins/auth-backend-module-oauth2-provider/src/index.ts b/plugins/auth-backend-module-oauth2-provider/src/index.ts
new file mode 100644
index 0000000000..c55556defc
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/src/index.ts
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * The oauth2-provider backend module for the auth plugin.
+ *
+ * @packageDocumentation
+ */
+
+export { oauth2Authenticator } from './authenticator';
+export { authModuleOauth2Provider as default } from './module';
+export { oauth2SignInResolvers } from './resolvers';
diff --git a/plugins/auth-backend-module-oauth2-provider/src/module.test.ts b/plugins/auth-backend-module-oauth2-provider/src/module.test.ts
new file mode 100644
index 0000000000..ed0032c2dc
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/src/module.test.ts
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { mockServices, startTestBackend } from '@backstage/backend-test-utils';
+import { authModuleOauth2Provider } from './module';
+import request from 'supertest';
+import { decodeOAuthState } from '@backstage/plugin-auth-node';
+
+describe('authModuleOauth2Provider', () => {
+ it('should start', async () => {
+ const { server } = await startTestBackend({
+ features: [
+ import('@backstage/plugin-auth-backend'),
+ authModuleOauth2Provider,
+ mockServices.rootConfig.factory({
+ data: {
+ app: {
+ baseUrl: 'http://localhost:3000',
+ },
+ auth: {
+ providers: {
+ oauth2: {
+ development: {
+ clientId: 'my-client-id',
+ clientSecret: 'my-client-secret',
+ authorizationUrl: 'https://oauth2.com/authorize',
+ tokenUrl: 'https://oauth2.com/token',
+ },
+ },
+ },
+ },
+ },
+ }),
+ ],
+ });
+
+ const agent = request.agent(server);
+
+ const res = await agent.get('/api/auth/oauth2/start?env=development');
+
+ expect(res.status).toEqual(302);
+
+ const nonceCookie = agent.jar.getCookie('oauth2-nonce', {
+ domain: 'localhost',
+ path: '/api/auth/oauth2/handler',
+ script: false,
+ secure: false,
+ });
+ expect(nonceCookie).toBeDefined();
+
+ const startUrl = new URL(res.get('location'));
+ expect(startUrl.origin).toBe('https://oauth2.com');
+ expect(startUrl.pathname).toBe('/authorize');
+ expect(Object.fromEntries(startUrl.searchParams)).toEqual({
+ response_type: 'code',
+ client_id: 'my-client-id',
+ redirect_uri: `http://localhost:${server.port()}/api/auth/oauth2/handler/frame`,
+ state: expect.any(String),
+ });
+
+ expect(decodeOAuthState(startUrl.searchParams.get('state')!)).toEqual({
+ env: 'development',
+ nonce: decodeURIComponent(nonceCookie.value),
+ });
+ });
+});
diff --git a/plugins/auth-backend-module-oauth2-provider/src/module.ts b/plugins/auth-backend-module-oauth2-provider/src/module.ts
new file mode 100644
index 0000000000..6b913761b1
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/src/module.ts
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { createBackendModule } from '@backstage/backend-plugin-api';
+import {
+ authProvidersExtensionPoint,
+ commonSignInResolvers,
+ createOAuthProviderFactory,
+} from '@backstage/plugin-auth-node';
+import { oauth2Authenticator } from './authenticator';
+import { oauth2SignInResolvers } from './resolvers';
+
+/** @public */
+export const authModuleOauth2Provider = createBackendModule({
+ pluginId: 'auth',
+ moduleId: 'oauth2-provider',
+ register(reg) {
+ reg.registerInit({
+ deps: {
+ providers: authProvidersExtensionPoint,
+ },
+ async init({ providers }) {
+ providers.registerProvider({
+ providerId: 'oauth2',
+ factory: createOAuthProviderFactory({
+ authenticator: oauth2Authenticator,
+ signInResolverFactories: {
+ ...oauth2SignInResolvers,
+ ...commonSignInResolvers,
+ },
+ }),
+ });
+ },
+ });
+ },
+});
diff --git a/plugins/auth-backend-module-oauth2-provider/src/resolvers.ts b/plugins/auth-backend-module-oauth2-provider/src/resolvers.ts
new file mode 100644
index 0000000000..c77f5afa03
--- /dev/null
+++ b/plugins/auth-backend-module-oauth2-provider/src/resolvers.ts
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2023 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {
+ createSignInResolverFactory,
+ OAuthAuthenticatorResult,
+ PassportProfile,
+ SignInInfo,
+} from '@backstage/plugin-auth-node';
+
+/**
+ * Available sign-in resolvers for the oauth2 auth provider.
+ *
+ * @public
+ */
+export namespace oauth2SignInResolvers {
+ /**
+ * Looks up the user by matching their oauth2 username to the entity name.
+ */
+ export const usernameMatchingUserEntityName = createSignInResolverFactory({
+ create() {
+ return async (
+ info: SignInInfo>,
+ ctx,
+ ) => {
+ const { result } = info;
+
+ const id = result.fullProfile.username;
+ if (!id) {
+ throw new Error(`Oauth2 user profile does not contain a username`);
+ }
+
+ return ctx.signInWithCatalogUser({ entityRef: { name: id } });
+ };
+ },
+ });
+}
diff --git a/plugins/auth-backend/CHANGELOG.md b/plugins/auth-backend/CHANGELOG.md
index f3b0c5b87c..df99eedf83 100644
--- a/plugins/auth-backend/CHANGELOG.md
+++ b/plugins/auth-backend/CHANGELOG.md
@@ -1,5 +1,43 @@
# @backstage/plugin-auth-backend
+## 0.19.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend-module-gcp-iap-provider@0.1.0-next.3
+ - @backstage/plugin-auth-backend-module-github-provider@0.1.0-next.3
+ - @backstage/plugin-auth-backend-module-gitlab-provider@0.1.0-next.2
+ - @backstage/plugin-auth-backend-module-google-provider@0.1.0-next.3
+ - @backstage/plugin-auth-backend-module-oauth2-provider@0.1.0-next.0
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.18.9-next.2
### Patch Changes
diff --git a/plugins/auth-backend/package.json b/plugins/auth-backend/package.json
index 73bd3aa2ea..5007a5fbd6 100644
--- a/plugins/auth-backend/package.json
+++ b/plugins/auth-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-auth-backend",
"description": "A Backstage backend plugin that handles authentication",
- "version": "0.18.9-next.2",
+ "version": "0.19.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -42,6 +42,7 @@
"@backstage/plugin-auth-backend-module-github-provider": "workspace:^",
"@backstage/plugin-auth-backend-module-gitlab-provider": "workspace:^",
"@backstage/plugin-auth-backend-module-google-provider": "workspace:^",
+ "@backstage/plugin-auth-backend-module-oauth2-provider": "workspace:^",
"@backstage/plugin-auth-node": "workspace:^",
"@backstage/plugin-catalog-node": "workspace:^",
"@backstage/types": "workspace:^",
diff --git a/plugins/auth-backend/src/providers/oauth2/provider.test.ts b/plugins/auth-backend/src/providers/oauth2/provider.test.ts
deleted file mode 100644
index 9bdf7095f3..0000000000
--- a/plugins/auth-backend/src/providers/oauth2/provider.test.ts
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright 2020 The Backstage Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import { OAuth2AuthProvider } from './provider';
-import * as helpers from '../../lib/passport/PassportStrategyHelper';
-import { OAuthResult } from '../../lib/oauth';
-import { AuthResolverContext } from '../types';
-
-jest.mock('../../lib/passport/PassportStrategyHelper', () => {
- return {
- executeFrameHandlerStrategy: jest.fn(),
- executeRefreshTokenStrategy: jest.fn(),
- executeFetchUserProfileStrategy: jest.fn(),
- };
-});
-
-const mockFrameHandler = jest.spyOn(
- helpers,
- 'executeFrameHandlerStrategy',
-) as unknown as jest.MockedFunction<
- () => Promise<{ result: OAuthResult; privateInfo: any }>
->;
-
-describe('createOAuth2Provider', () => {
- it('should auth', async () => {
- const provider = new OAuth2AuthProvider({
- resolverContext: {} as AuthResolverContext,
- authHandler: async ({ fullProfile }) => ({
- profile: {
- email: fullProfile.emails![0]!.value,
- displayName: fullProfile.displayName,
- picture: 'http://backstage.io/lols',
- },
- }),
- clientId: 'mock',
- clientSecret: 'mock',
- callbackUrl: 'mock',
- authorizationUrl: 'mock',
- tokenUrl: 'mock',
- });
-
- mockFrameHandler.mockResolvedValueOnce({
- result: {
- fullProfile: {
- emails: [{ value: 'conrad@example.com' }],
- displayName: 'Conrad',
- id: 'conrad',
- provider: 'oAuth2',
- },
- params: {
- id_token: 'idToken',
- scope: 'scope',
- expires_in: 123,
- },
- accessToken: 'accessToken',
- },
- privateInfo: {
- refreshToken: 'wacka',
- },
- });
- const { response } = await provider.handler({} as any);
- expect(response).toEqual({
- providerInfo: {
- accessToken: 'accessToken',
- expiresInSeconds: 123,
- idToken: 'idToken',
- scope: 'scope',
- },
- profile: {
- email: 'conrad@example.com',
- displayName: 'Conrad',
- picture: 'http://backstage.io/lols',
- },
- });
- });
-});
diff --git a/plugins/auth-backend/src/providers/oauth2/provider.ts b/plugins/auth-backend/src/providers/oauth2/provider.ts
index 3e7720b14a..de6e7b1cfa 100644
--- a/plugins/auth-backend/src/providers/oauth2/provider.ts
+++ b/plugins/auth-backend/src/providers/oauth2/provider.ts
@@ -14,183 +14,15 @@
* limitations under the License.
*/
-import express from 'express';
-import passport from 'passport';
-import { Strategy as OAuth2Strategy } from 'passport-oauth2';
-import {
- encodeState,
- OAuthAdapter,
- OAuthEnvironmentHandler,
- OAuthHandlers,
- OAuthProviderOptions,
- OAuthRefreshRequest,
- OAuthResponse,
- OAuthResult,
- OAuthStartRequest,
-} from '../../lib/oauth';
-import {
- executeFetchUserProfileStrategy,
- executeFrameHandlerStrategy,
- executeRedirectStrategy,
- executeRefreshTokenStrategy,
- makeProfileInfo,
- PassportDoneCallback,
-} from '../../lib/passport';
-import {
- AuthHandler,
- AuthResolverContext,
- OAuthStartResponse,
- SignInResolver,
-} from '../types';
+import { OAuthResult } from '../../lib/oauth';
+import { AuthHandler, SignInResolver } from '../types';
import { createAuthProviderIntegration } from '../createAuthProviderIntegration';
-import { InputError } from '@backstage/errors';
-
-type PrivateInfo = {
- refreshToken: string;
-};
-
-export type OAuth2AuthProviderOptions = OAuthProviderOptions & {
- signInResolver?: SignInResolver;
- authHandler: AuthHandler;
- authorizationUrl: string;
- tokenUrl: string;
- scope?: string;
- resolverContext: AuthResolverContext;
- includeBasicAuth?: boolean;
- disableRefresh?: boolean;
-};
-
-export class OAuth2AuthProvider implements OAuthHandlers {
- private readonly _strategy: OAuth2Strategy;
- private readonly signInResolver?: SignInResolver;
- private readonly authHandler: AuthHandler;
- private readonly resolverContext: AuthResolverContext;
- private readonly disableRefresh: boolean;
-
- constructor(options: OAuth2AuthProviderOptions) {
- this.signInResolver = options.signInResolver;
- this.authHandler = options.authHandler;
- this.resolverContext = options.resolverContext;
- this.disableRefresh = options.disableRefresh ?? false;
-
- this._strategy = new OAuth2Strategy(
- {
- clientID: options.clientId,
- clientSecret: options.clientSecret,
- callbackURL: options.callbackUrl,
- authorizationURL: options.authorizationUrl,
- tokenURL: options.tokenUrl,
- passReqToCallback: false,
- scope: options.scope,
- customHeaders: options.includeBasicAuth
- ? {
- Authorization: `Basic ${this.encodeClientCredentials(
- options.clientId,
- options.clientSecret,
- )}`,
- }
- : undefined,
- },
- (
- accessToken: any,
- refreshToken: any,
- params: any,
- fullProfile: passport.Profile,
- done: PassportDoneCallback,
- ) => {
- done(
- undefined,
- {
- fullProfile,
- accessToken,
- refreshToken,
- params,
- },
- {
- refreshToken,
- },
- );
- },
- );
- }
-
- async start(req: OAuthStartRequest): Promise {
- return await executeRedirectStrategy(req, this._strategy, {
- accessType: 'offline',
- prompt: 'consent',
- scope: req.scope,
- state: encodeState(req.state),
- });
- }
-
- async handler(req: express.Request) {
- const { result, privateInfo } = await executeFrameHandlerStrategy<
- OAuthResult,
- PrivateInfo
- >(req, this._strategy);
-
- return {
- response: await this.handleResult(result),
- refreshToken: privateInfo.refreshToken,
- };
- }
-
- async refresh(req: OAuthRefreshRequest) {
- if (this.disableRefresh) {
- throw new InputError('Session refreshes have been disabled');
- }
- const refreshTokenResponse = await executeRefreshTokenStrategy(
- this._strategy,
- req.refreshToken,
- req.scope,
- );
- const { accessToken, params, refreshToken } = refreshTokenResponse;
-
- const fullProfile = await executeFetchUserProfileStrategy(
- this._strategy,
- accessToken,
- );
-
- return {
- response: await this.handleResult({
- fullProfile,
- params,
- accessToken,
- }),
- refreshToken,
- };
- }
-
- private async handleResult(result: OAuthResult) {
- const { profile } = await this.authHandler(result, this.resolverContext);
-
- const response: OAuthResponse = {
- providerInfo: {
- idToken: result.params.id_token,
- accessToken: result.accessToken,
- scope: result.params.scope,
- expiresInSeconds: result.params.expires_in,
- },
- profile,
- };
-
- if (this.signInResolver) {
- response.backstageIdentity = await this.signInResolver(
- {
- result,
- profile,
- },
- this.resolverContext,
- );
- }
-
- return response;
- }
-
- encodeClientCredentials(clientID: string, clientSecret: string): string {
- return Buffer.from(`${clientID}:${clientSecret}`).toString('base64');
- }
-}
+import {
+ adaptLegacyOAuthHandler,
+ adaptLegacyOAuthSignInResolver,
+} from '../../lib/legacy';
+import { createOAuthProviderFactory } from '@backstage/plugin-auth-node';
+import { oauth2Authenticator } from '@backstage/plugin-auth-backend-module-oauth2-provider';
/**
* Auth provider integration for generic OAuth2 auth
@@ -205,46 +37,10 @@ export const oauth2 = createAuthProviderIntegration({
resolver: SignInResolver;
};
}) {
- return ({ providerId, globalConfig, config, resolverContext }) =>
- OAuthEnvironmentHandler.mapConfig(config, envConfig => {
- const clientId = envConfig.getString('clientId');
- const clientSecret = envConfig.getString('clientSecret');
- const customCallbackUrl = envConfig.getOptionalString('callbackUrl');
- const callbackUrl =
- customCallbackUrl ||
- `${globalConfig.baseUrl}/${providerId}/handler/frame`;
- const authorizationUrl = envConfig.getString('authorizationUrl');
- const tokenUrl = envConfig.getString('tokenUrl');
- const scope = envConfig.getOptionalString('scope');
- const includeBasicAuth =
- envConfig.getOptionalBoolean('includeBasicAuth');
- const disableRefresh =
- envConfig.getOptionalBoolean('disableRefresh') ?? false;
-
- const authHandler: AuthHandler = options?.authHandler
- ? options.authHandler
- : async ({ fullProfile, params }) => ({
- profile: makeProfileInfo(fullProfile, params.id_token),
- });
-
- const provider = new OAuth2AuthProvider({
- clientId,
- clientSecret,
- callbackUrl,
- signInResolver: options?.signIn?.resolver,
- authHandler,
- authorizationUrl,
- tokenUrl,
- scope,
- includeBasicAuth,
- resolverContext,
- disableRefresh,
- });
-
- return OAuthAdapter.fromConfig(globalConfig, provider, {
- providerId,
- callbackUrl,
- });
- });
+ return createOAuthProviderFactory({
+ authenticator: oauth2Authenticator,
+ profileTransform: adaptLegacyOAuthHandler(options?.authHandler),
+ signInResolver: adaptLegacyOAuthSignInResolver(options?.signIn?.resolver),
+ });
},
});
diff --git a/plugins/auth-node/CHANGELOG.md b/plugins/auth-node/CHANGELOG.md
index f0b0c5d962..4051844378 100644
--- a/plugins/auth-node/CHANGELOG.md
+++ b/plugins/auth-node/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-auth-node
+## 0.3.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.3.0-next.2
### Patch Changes
diff --git a/plugins/auth-node/package.json b/plugins/auth-node/package.json
index 728b4a8ea8..42a3732bd1 100644
--- a/plugins/auth-node/package.json
+++ b/plugins/auth-node/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-auth-node",
- "version": "0.3.0-next.2",
+ "version": "0.3.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/azure-devops-backend/CHANGELOG.md b/plugins/azure-devops-backend/CHANGELOG.md
index 8f6aa6c4cc..a10b0bd688 100644
--- a/plugins/azure-devops-backend/CHANGELOG.md
+++ b/plugins/azure-devops-backend/CHANGELOG.md
@@ -1,5 +1,33 @@
# @backstage/plugin-azure-devops-backend
+## 0.4.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-azure-devops-common@0.3.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.3.30-next.2
### Patch Changes
diff --git a/plugins/azure-devops-backend/package.json b/plugins/azure-devops-backend/package.json
index 9be538bff4..be959406eb 100644
--- a/plugins/azure-devops-backend/package.json
+++ b/plugins/azure-devops-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-azure-devops-backend",
- "version": "0.3.30-next.2",
+ "version": "0.4.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/azure-devops-common/CHANGELOG.md b/plugins/azure-devops-common/CHANGELOG.md
index a96aae9f0a..e117d80b34 100644
--- a/plugins/azure-devops-common/CHANGELOG.md
+++ b/plugins/azure-devops-common/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/plugin-azure-devops-common
+## 0.3.1-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
## 0.3.0
### Minor Changes
diff --git a/plugins/azure-devops-common/package.json b/plugins/azure-devops-common/package.json
index d99c411f79..6d3e8f5edb 100644
--- a/plugins/azure-devops-common/package.json
+++ b/plugins/azure-devops-common/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-azure-devops-common",
- "version": "0.3.0",
+ "version": "0.3.1-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/azure-devops/CHANGELOG.md b/plugins/azure-devops/CHANGELOG.md
index 1a053d40cb..1de0ee585d 100644
--- a/plugins/azure-devops/CHANGELOG.md
+++ b/plugins/azure-devops/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-azure-devops
+## 0.3.6-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-azure-devops-common@0.3.1-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.3.6-next.2
### Patch Changes
diff --git a/plugins/azure-devops/package.json b/plugins/azure-devops/package.json
index c405779a37..1676aafab7 100644
--- a/plugins/azure-devops/package.json
+++ b/plugins/azure-devops/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-azure-devops",
- "version": "0.3.6-next.2",
+ "version": "0.3.6-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/azure-sites-backend/CHANGELOG.md b/plugins/azure-sites-backend/CHANGELOG.md
index 759e66ef23..85d3c02c81 100644
--- a/plugins/azure-sites-backend/CHANGELOG.md
+++ b/plugins/azure-sites-backend/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-azure-sites-backend
+## 0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-azure-sites-common@0.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.1.13-next.2
### Patch Changes
diff --git a/plugins/azure-sites-backend/package.json b/plugins/azure-sites-backend/package.json
index 08c381729b..8cce936c7a 100644
--- a/plugins/azure-sites-backend/package.json
+++ b/plugins/azure-sites-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-azure-sites-backend",
- "version": "0.1.13-next.2",
+ "version": "0.1.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/azure-sites-common/CHANGELOG.md b/plugins/azure-sites-common/CHANGELOG.md
index f210cdf7bb..a61756b3c2 100644
--- a/plugins/azure-sites-common/CHANGELOG.md
+++ b/plugins/azure-sites-common/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/plugin-azure-sites-common
+## 0.1.1-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
## 0.1.0
### Minor Changes
diff --git a/plugins/azure-sites-common/package.json b/plugins/azure-sites-common/package.json
index e264d5cb36..4ee8be6dd1 100644
--- a/plugins/azure-sites-common/package.json
+++ b/plugins/azure-sites-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-azure-sites-common",
"description": "Common functionalities for the azure plugin",
- "version": "0.1.0",
+ "version": "0.1.1-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/azure-sites/CHANGELOG.md b/plugins/azure-sites/CHANGELOG.md
index d65ad0bc0c..3b477fb4ee 100644
--- a/plugins/azure-sites/CHANGELOG.md
+++ b/plugins/azure-sites/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-azure-sites
+## 0.1.13-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-azure-sites-common@0.1.1-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.13-next.2
### Patch Changes
diff --git a/plugins/azure-sites/package.json b/plugins/azure-sites/package.json
index db391d1a6e..544045573a 100644
--- a/plugins/azure-sites/package.json
+++ b/plugins/azure-sites/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-azure-sites",
- "version": "0.1.13-next.2",
+ "version": "0.1.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/badges-backend/CHANGELOG.md b/plugins/badges-backend/CHANGELOG.md
index 7188e68e81..9f2191eea1 100644
--- a/plugins/badges-backend/CHANGELOG.md
+++ b/plugins/badges-backend/CHANGELOG.md
@@ -1,5 +1,36 @@
# @backstage/plugin-badges-backend
+## 0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.2.6-next.2
### Patch Changes
diff --git a/plugins/badges-backend/package.json b/plugins/badges-backend/package.json
index 263b7e2b60..8fa4211e0c 100644
--- a/plugins/badges-backend/package.json
+++ b/plugins/badges-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-badges-backend",
"description": "A Backstage backend plugin that generates README badges for your entities",
- "version": "0.2.6-next.2",
+ "version": "0.3.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/badges/CHANGELOG.md b/plugins/badges/CHANGELOG.md
index 6f9a3d5424..59b0eb9458 100644
--- a/plugins/badges/CHANGELOG.md
+++ b/plugins/badges/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-badges
+## 0.2.48-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.48-next.2
### Patch Changes
diff --git a/plugins/badges/package.json b/plugins/badges/package.json
index 0957145fa8..82361daef1 100644
--- a/plugins/badges/package.json
+++ b/plugins/badges/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-badges",
"description": "A Backstage plugin that generates README badges for your entities",
- "version": "0.2.48-next.2",
+ "version": "0.2.48-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/bazaar-backend/CHANGELOG.md b/plugins/bazaar-backend/CHANGELOG.md
index defdc9de0e..37b3f7d46d 100644
--- a/plugins/bazaar-backend/CHANGELOG.md
+++ b/plugins/bazaar-backend/CHANGELOG.md
@@ -1,5 +1,34 @@
# @backstage/plugin-bazaar-backend
+## 0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.2.14-next.2
### Patch Changes
diff --git a/plugins/bazaar-backend/package.json b/plugins/bazaar-backend/package.json
index ecc7f409d2..603c723fb8 100644
--- a/plugins/bazaar-backend/package.json
+++ b/plugins/bazaar-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-bazaar-backend",
- "version": "0.2.14-next.2",
+ "version": "0.3.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/bazaar/CHANGELOG.md b/plugins/bazaar/CHANGELOG.md
index ae4847fe30..f140081951 100644
--- a/plugins/bazaar/CHANGELOG.md
+++ b/plugins/bazaar/CHANGELOG.md
@@ -1,5 +1,21 @@
# @backstage/plugin-bazaar
+## 0.2.16-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/cli@0.22.13-next.3
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog@1.13.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.16-next.2
### Patch Changes
diff --git a/plugins/bazaar/package.json b/plugins/bazaar/package.json
index 17aade25be..4df78fe89f 100644
--- a/plugins/bazaar/package.json
+++ b/plugins/bazaar/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-bazaar",
- "version": "0.2.16-next.2",
+ "version": "0.2.16-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/bitbucket-cloud-common/CHANGELOG.md b/plugins/bitbucket-cloud-common/CHANGELOG.md
index d21ff40a7b..53b0f90d25 100644
--- a/plugins/bitbucket-cloud-common/CHANGELOG.md
+++ b/plugins/bitbucket-cloud-common/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-bitbucket-cloud-common
+## 0.2.12-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/integration@1.7.0-next.3
+
## 0.2.12-next.2
### Patch Changes
diff --git a/plugins/bitbucket-cloud-common/package.json b/plugins/bitbucket-cloud-common/package.json
index 1367eeca4b..2dc63ff61c 100644
--- a/plugins/bitbucket-cloud-common/package.json
+++ b/plugins/bitbucket-cloud-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-bitbucket-cloud-common",
"description": "Common functionalities for bitbucket-cloud plugins",
- "version": "0.2.12-next.2",
+ "version": "0.2.12-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/bitrise/CHANGELOG.md b/plugins/bitrise/CHANGELOG.md
index 47fe1d0703..a19027d361 100644
--- a/plugins/bitrise/CHANGELOG.md
+++ b/plugins/bitrise/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-bitrise
+## 0.1.51-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.51-next.2
### Patch Changes
diff --git a/plugins/bitrise/package.json b/plugins/bitrise/package.json
index 23352407d6..e18e4aca8c 100644
--- a/plugins/bitrise/package.json
+++ b/plugins/bitrise/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-bitrise",
"description": "A Backstage plugin that integrates towards Bitrise",
- "version": "0.1.51-next.2",
+ "version": "0.1.51-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-aws/CHANGELOG.md b/plugins/catalog-backend-module-aws/CHANGELOG.md
index 4119519634..045e86cf82 100644
--- a/plugins/catalog-backend-module-aws/CHANGELOG.md
+++ b/plugins/catalog-backend-module-aws/CHANGELOG.md
@@ -1,5 +1,39 @@
# @backstage/plugin-catalog-backend-module-aws
+## 0.2.6-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- 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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-kubernetes-common@0.6.6-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/integration-aws-node@0.1.6-next.2
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.2.6-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-aws/package.json b/plugins/catalog-backend-module-aws/package.json
index b627437a5f..848bf34d47 100644
--- a/plugins/catalog-backend-module-aws/package.json
+++ b/plugins/catalog-backend-module-aws/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-aws",
"description": "A Backstage catalog backend module that helps integrate towards AWS",
- "version": "0.2.6-next.2",
+ "version": "0.2.6-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-azure/CHANGELOG.md b/plugins/catalog-backend-module-azure/CHANGELOG.md
index 169781835a..92bdfd109b 100644
--- a/plugins/catalog-backend-module-azure/CHANGELOG.md
+++ b/plugins/catalog-backend-module-azure/CHANGELOG.md
@@ -1,5 +1,37 @@
# @backstage/plugin-catalog-backend-module-azure
+## 0.1.22-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- 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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.1.22-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-azure/package.json b/plugins/catalog-backend-module-azure/package.json
index 899f51dceb..73b140d58a 100644
--- a/plugins/catalog-backend-module-azure/package.json
+++ b/plugins/catalog-backend-module-azure/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-azure",
"description": "A Backstage catalog backend module that helps integrate towards Azure",
- "version": "0.1.22-next.2",
+ "version": "0.1.22-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md
index b3b5960077..e1eef3b2e2 100644
--- a/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md
+++ b/plugins/catalog-backend-module-bitbucket-cloud/CHANGELOG.md
@@ -1,5 +1,38 @@
# @backstage/plugin-catalog-backend-module-bitbucket-cloud
+## 0.1.18-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-bitbucket-cloud-common@0.2.12-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
## 0.1.18-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-bitbucket-cloud/package.json b/plugins/catalog-backend-module-bitbucket-cloud/package.json
index ac1dd99dfd..b76688ce82 100644
--- a/plugins/catalog-backend-module-bitbucket-cloud/package.json
+++ b/plugins/catalog-backend-module-bitbucket-cloud/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-bitbucket-cloud",
"description": "A Backstage catalog backend module that helps integrate towards Bitbucket Cloud",
- "version": "0.1.18-next.2",
+ "version": "0.1.18-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md
index b2556975c1..61ee4d7e09 100644
--- a/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md
+++ b/plugins/catalog-backend-module-bitbucket-server/CHANGELOG.md
@@ -1,5 +1,35 @@
# @backstage/plugin-catalog-backend-module-bitbucket-server
+## 0.1.16-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- 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/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.1.16-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-bitbucket-server/package.json b/plugins/catalog-backend-module-bitbucket-server/package.json
index 5f5e23dff6..79891dee21 100644
--- a/plugins/catalog-backend-module-bitbucket-server/package.json
+++ b/plugins/catalog-backend-module-bitbucket-server/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-catalog-backend-module-bitbucket-server",
- "version": "0.1.16-next.2",
+ "version": "0.1.16-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-bitbucket/CHANGELOG.md b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md
index ad6f296fbf..1fef938310 100644
--- a/plugins/catalog-backend-module-bitbucket/CHANGELOG.md
+++ b/plugins/catalog-backend-module-bitbucket/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-catalog-backend-module-bitbucket
+## 0.2.18-next.3
+
+### Patch Changes
+
+- 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/plugin-bitbucket-cloud-common@0.2.12-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.2.18-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-bitbucket/package.json b/plugins/catalog-backend-module-bitbucket/package.json
index 681db2dd42..ff1d57603f 100644
--- a/plugins/catalog-backend-module-bitbucket/package.json
+++ b/plugins/catalog-backend-module-bitbucket/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-bitbucket",
"description": "A Backstage catalog backend module that helps integrate towards Bitbucket",
- "version": "0.2.18-next.2",
+ "version": "0.2.18-next.3",
"deprecated": true,
"main": "src/index.ts",
"types": "src/index.ts",
diff --git a/plugins/catalog-backend-module-gcp/CHANGELOG.md b/plugins/catalog-backend-module-gcp/CHANGELOG.md
index 3efe6cb7d5..d25891f15c 100644
--- a/plugins/catalog-backend-module-gcp/CHANGELOG.md
+++ b/plugins/catalog-backend-module-gcp/CHANGELOG.md
@@ -1,5 +1,33 @@
# @backstage/plugin-catalog-backend-module-gcp
+## 0.1.3-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-kubernetes-common@0.6.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.1.3-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-gcp/package.json b/plugins/catalog-backend-module-gcp/package.json
index 067fc3cf9b..7f9ec4fd90 100644
--- a/plugins/catalog-backend-module-gcp/package.json
+++ b/plugins/catalog-backend-module-gcp/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-gcp",
"description": "A Backstage catalog backend module that helps integrate towards GCP",
- "version": "0.1.3-next.2",
+ "version": "0.1.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-gerrit/CHANGELOG.md b/plugins/catalog-backend-module-gerrit/CHANGELOG.md
index 0bceb9560e..ae454f70b3 100644
--- a/plugins/catalog-backend-module-gerrit/CHANGELOG.md
+++ b/plugins/catalog-backend-module-gerrit/CHANGELOG.md
@@ -1,5 +1,35 @@
# @backstage/plugin-catalog-backend-module-gerrit
+## 0.1.19-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- 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/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.1.19-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-gerrit/package.json b/plugins/catalog-backend-module-gerrit/package.json
index e37b8f8549..bb59f7ef14 100644
--- a/plugins/catalog-backend-module-gerrit/package.json
+++ b/plugins/catalog-backend-module-gerrit/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-catalog-backend-module-gerrit",
- "version": "0.1.19-next.2",
+ "version": "0.1.19-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-github/CHANGELOG.md b/plugins/catalog-backend-module-github/CHANGELOG.md
index 766f129b57..0021623e5a 100644
--- a/plugins/catalog-backend-module-github/CHANGELOG.md
+++ b/plugins/catalog-backend-module-github/CHANGELOG.md
@@ -1,5 +1,44 @@
# @backstage/plugin-catalog-backend-module-github
+## 0.4.0-next.3
+
+### Minor Changes
+
+- fa7004d9722c: Added a `catalogModuleGithubOrgEntityProvider` for the new backend system
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
## 0.3.8-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-github/package.json b/plugins/catalog-backend-module-github/package.json
index cfab77b141..7600fe23ed 100644
--- a/plugins/catalog-backend-module-github/package.json
+++ b/plugins/catalog-backend-module-github/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-github",
"description": "A Backstage catalog backend module that helps integrate towards GitHub",
- "version": "0.3.8-next.2",
+ "version": "0.4.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-gitlab/CHANGELOG.md b/plugins/catalog-backend-module-gitlab/CHANGELOG.md
index 39c8e960dd..121c32da16 100644
--- a/plugins/catalog-backend-module-gitlab/CHANGELOG.md
+++ b/plugins/catalog-backend-module-gitlab/CHANGELOG.md
@@ -1,5 +1,52 @@
# @backstage/plugin-catalog-backend-module-gitlab
+## 0.3.0-next.3
+
+### Minor Changes
+
+- 3d73bafd85c9: Fix Gitlab.com user ingestion by scoping GitlabOrgDiscoveryEntityProvider to a group.
+
+ **BREAKING** The `group` parameter is now required Gitlab.com Org Data integrations and the backend will fail to start without this option configured.
+
+ ```diff
+ catalog:
+ providers:
+ gitlab:
+ yourProviderId:
+ host: gitlab.com
+ orgEnabled: true
+ + group: org/teams
+ ```
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- 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/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.2.7-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-gitlab/package.json b/plugins/catalog-backend-module-gitlab/package.json
index 788e39ba38..f5f97ed03b 100644
--- a/plugins/catalog-backend-module-gitlab/package.json
+++ b/plugins/catalog-backend-module-gitlab/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-gitlab",
"description": "A Backstage catalog backend module that helps integrate towards GitLab",
- "version": "0.2.7-next.2",
+ "version": "0.3.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-gitlab/src/lib/client.test.ts b/plugins/catalog-backend-module-gitlab/src/lib/client.test.ts
index f4504e8937..dda30fd86a 100644
--- a/plugins/catalog-backend-module-gitlab/src/lib/client.test.ts
+++ b/plugins/catalog-backend-module-gitlab/src/lib/client.test.ts
@@ -398,17 +398,29 @@ describe('GitLabClient', () => {
]);
});
- describe('getGroupMembers', () => {
- it('gets member IDs', async () => {
+ describe('get gitlab.com users', () => {
+ it('gets all users under group', async () => {
server.use(
graphql
.link(`${MOCK_CONFIG.baseUrl}/api/graphql`)
- .operation((_, res, ctx) =>
+ .query('getGroupMembers', async (_, res, ctx) =>
res(
ctx.data({
group: {
groupMembers: {
- nodes: [{ user: { id: 'gid://gitlab/User/1' } }],
+ nodes: [
+ {
+ user: {
+ id: 'gid://gitlab/User/1',
+ username: 'user1',
+ commitEmail: 'user1@example.com',
+ name: 'user1',
+ state: 'active',
+ webUrl: 'user1.com',
+ avatarUrl: 'user1',
+ },
+ },
+ ],
pageInfo: {
endCursor: 'end',
hasNextPage: false,
@@ -424,16 +436,30 @@ describe('GitLabClient', () => {
logger: getVoidLogger(),
});
- const members = await client.getGroupMembers('group1');
+ const saasMembers = (
+ await client.getGroupMembers('group1', ['DIRECT, DESCENDANTS'])
+ ).items;
+ const expectedSaasMember = [
+ {
+ id: 1,
+ username: 'user1',
+ email: 'user1@example.com',
+ name: 'user1',
+ state: 'active',
+ web_url: 'user1.com',
+ avatar_url: 'user1',
+ },
+ ];
- expect(members).toEqual([1]);
+ expect(saasMembers.length).toEqual(1);
+ expect(saasMembers).toEqual(expectedSaasMember);
});
- it('gets member IDs with token without full permissions', async () => {
+ it('gets all users with token without full permissions', async () => {
server.use(
graphql
.link(`${MOCK_CONFIG.baseUrl}/api/graphql`)
- .operation((_, res, ctx) =>
+ .query('getGroupMembers', async (_, res, ctx) =>
res(
ctx.data({
group: {},
@@ -446,16 +472,18 @@ describe('GitLabClient', () => {
logger: getVoidLogger(),
});
- const members = await client.getGroupMembers('group1');
+ const saasMembers = (
+ await client.getGroupMembers('group1', ['DIRECT, DESCENDANTS'])
+ ).items;
- expect(members).toEqual([]);
+ expect(saasMembers).toEqual([]);
});
it('rejects when GraphQL returns errors', async () => {
server.use(
graphql
.link(`${MOCK_CONFIG.baseUrl}/api/graphql`)
- .operation((_, res, ctx) =>
+ .query('getGroupMembers', async (_, res, ctx) =>
res(
ctx.errors([
{ message: 'Unexpected end of document', locations: [] },
@@ -468,7 +496,354 @@ describe('GitLabClient', () => {
logger: getVoidLogger(),
});
- await expect(() => client.getGroupMembers('group1')).rejects.toThrow(
+ await expect(() =>
+ client.getGroupMembers('group1', ['DIRECT, DESCENDANTS']),
+ ).rejects.toThrow(
+ 'GraphQL errors: [{"message":"Unexpected end of document","locations":[]}]',
+ );
+ });
+ it('traverses multi-page results', async () => {
+ server.use(
+ graphql
+ .link(`${MOCK_CONFIG.baseUrl}/api/graphql`)
+ .query('getGroupMembers', async (req, res, ctx) =>
+ res(
+ ctx.data({
+ group: {
+ groupMembers: {
+ nodes: req.variables.endCursor
+ ? [
+ {
+ user: {
+ id: 'gid://gitlab/User/1',
+ username: 'user1',
+ commitEmail: 'user1@example.com',
+ name: 'user1',
+ state: 'active',
+ webUrl: 'user1.com',
+ avatarUrl: 'user1',
+ },
+ },
+ ]
+ : [
+ {
+ user: {
+ id: 'gid://gitlab/User/2',
+ username: 'user2',
+ commitEmail: 'user2@example.com',
+ name: 'user2',
+ state: 'active',
+ webUrl: 'user2.com',
+ avatarUrl: 'user2',
+ },
+ },
+ ],
+ pageInfo: {
+ endCursor: req.variables.endCursor ? 'end' : 'next',
+ hasNextPage: !req.variables.endCursor,
+ },
+ },
+ },
+ }),
+ ),
+ ),
+ );
+ const client = new GitLabClient({
+ config: MOCK_CONFIG,
+ logger: getVoidLogger(),
+ });
+
+ const saasMembers = (
+ await client.getGroupMembers('group1', ['DIRECT, DESCENDANTS'])
+ ).items;
+
+ const expectedSaasMember1 = {
+ id: 1,
+ username: 'user1',
+ email: 'user1@example.com',
+ name: 'user1',
+ state: 'active',
+ web_url: 'user1.com',
+ avatar_url: 'user1',
+ };
+
+ const expectedSaasMember2 = {
+ id: 2,
+ username: 'user2',
+ email: 'user2@example.com',
+ name: 'user2',
+ state: 'active',
+ web_url: 'user2.com',
+ avatar_url: 'user2',
+ };
+
+ expect(saasMembers.length).toEqual(2);
+ expect(saasMembers[0]).toEqual(expectedSaasMember2);
+ expect(saasMembers[1]).toEqual(expectedSaasMember1);
+ });
+ });
+
+ describe('listDescendantGroups', () => {
+ it('gets all groups under root', async () => {
+ server.use(
+ graphql
+ .link(`${MOCK_CONFIG.baseUrl}/api/graphql`)
+ .query('listDescendantGroups', async (_, res, ctx) =>
+ res(
+ ctx.data({
+ group: {
+ descendantGroups: {
+ nodes: [
+ {
+ id: 'gid://gitlab/Group/1',
+ name: 'group1',
+ description: 'description1',
+ fullPath: 'path/group1',
+ parent: {
+ id: '123',
+ },
+ },
+ ],
+ pageInfo: {
+ endCursor: 'end',
+ hasNextPage: false,
+ },
+ },
+ },
+ }),
+ ),
+ ),
+ );
+ const client = new GitLabClient({
+ config: MOCK_CONFIG,
+ logger: getVoidLogger(),
+ });
+
+ const saasGroups = (await client.listDescendantGroups('group1')).items;
+
+ const expectedSaasGroup = [
+ {
+ id: 1,
+ name: 'group1',
+ description: 'description1',
+ full_path: 'path/group1',
+ parent_id: 123,
+ },
+ ];
+
+ expect(saasGroups.length).toEqual(1);
+ expect(saasGroups).toEqual(expectedSaasGroup);
+ });
+
+ it('gets all descendant groups with token without full permissions', async () => {
+ server.use(
+ graphql
+ .link(`${MOCK_CONFIG.baseUrl}/api/graphql`)
+ .query('listDescendantGroups', async (_, res, ctx) =>
+ res(
+ ctx.data({
+ group: {},
+ }),
+ ),
+ ),
+ );
+ const client = new GitLabClient({
+ config: MOCK_CONFIG,
+ logger: getVoidLogger(),
+ });
+
+ const saasGroups = (await client.listDescendantGroups('group1')).items;
+
+ expect(saasGroups).toEqual([]);
+ });
+
+ it('rejects when GraphQL returns errors', async () => {
+ server.use(
+ graphql
+ .link(`${MOCK_CONFIG.baseUrl}/api/graphql`)
+ .query('listDescendantGroups', async (_, res, ctx) =>
+ res(
+ ctx.errors([
+ { message: 'Unexpected end of document', locations: [] },
+ ]),
+ ),
+ ),
+ );
+ const client = new GitLabClient({
+ config: MOCK_CONFIG,
+ logger: getVoidLogger(),
+ });
+
+ await expect(() => client.listDescendantGroups('group1')).rejects.toThrow(
+ 'GraphQL errors: [{"message":"Unexpected end of document","locations":[]}]',
+ );
+ });
+ it('traverses multi-page results', async () => {
+ server.use(
+ graphql
+ .link(`${MOCK_CONFIG.baseUrl}/api/graphql`)
+ .query('listDescendantGroups', async (req, res, ctx) =>
+ res(
+ ctx.data({
+ group: {
+ descendantGroups: {
+ nodes: req.variables.endCursor
+ ? [
+ {
+ id: 'gid://gitlab/Group/1',
+ name: 'group1',
+ description: 'description1',
+ fullPath: 'path/group1',
+ parent: {
+ id: '123',
+ },
+ },
+ ]
+ : [
+ {
+ id: 'gid://gitlab/Group/2',
+ name: 'group2',
+ description: 'description2',
+ fullPath: 'path/group2',
+ parent: {
+ id: '123',
+ },
+ },
+ ],
+ pageInfo: {
+ endCursor: req.variables.endCursor ? 'end' : 'next',
+ hasNextPage: !req.variables.endCursor,
+ },
+ },
+ },
+ }),
+ ),
+ ),
+ );
+ const client = new GitLabClient({
+ config: MOCK_CONFIG,
+ logger: getVoidLogger(),
+ });
+
+ const saasGroups = (await client.listDescendantGroups('root')).items;
+
+ const expectedSaasGroup1 = {
+ id: 1,
+ name: 'group1',
+ description: 'description1',
+ full_path: 'path/group1',
+ parent_id: 123,
+ };
+
+ const expectedSaasGroup2 = {
+ id: 2,
+ name: 'group2',
+ description: 'description2',
+ full_path: 'path/group2',
+ parent_id: 123,
+ };
+
+ expect(saasGroups.length).toEqual(2);
+ expect(saasGroups[0]).toEqual(expectedSaasGroup2);
+ expect(saasGroups[1]).toEqual(expectedSaasGroup1);
+ });
+ });
+
+ describe('getGroupMembers', () => {
+ it('gets member IDs', async () => {
+ server.use(
+ graphql
+ .link(`${MOCK_CONFIG.baseUrl}/api/graphql`)
+ .query('getGroupMembers', async (_, res, ctx) =>
+ res(
+ ctx.data({
+ group: {
+ groupMembers: {
+ nodes: [
+ {
+ user: {
+ id: 'gid://gitlab/User/1',
+ username: 'user1',
+ commitEmail: 'user1@example.com',
+ name: 'user1',
+ state: 'active',
+ webUrl: 'user1.com',
+ avatarUrl: 'user1',
+ },
+ },
+ ],
+ pageInfo: {
+ endCursor: 'end',
+ hasNextPage: false,
+ },
+ },
+ },
+ }),
+ ),
+ ),
+ );
+ const client = new GitLabClient({
+ config: MOCK_CONFIG,
+ logger: getVoidLogger(),
+ });
+
+ const members = await client.getGroupMembers('group1', ['DIRECT']);
+
+ const user = {
+ id: 1,
+ username: 'user1',
+ email: 'user1@example.com',
+ name: 'user1',
+ state: 'active',
+ web_url: 'user1.com',
+ avatar_url: 'user1',
+ };
+
+ expect(members.items).toEqual([user]);
+ });
+
+ it('gets member IDs with token without full permissions', async () => {
+ server.use(
+ graphql
+ .link(`${MOCK_CONFIG.baseUrl}/api/graphql`)
+ .query('getGroupMembers', async (_, res, ctx) =>
+ res(
+ ctx.data({
+ group: {},
+ }),
+ ),
+ ),
+ );
+ const client = new GitLabClient({
+ config: MOCK_CONFIG,
+ logger: getVoidLogger(),
+ });
+
+ const members = await client.getGroupMembers('group1', ['DIRECT']);
+
+ expect(members.items).toEqual([]);
+ });
+
+ it('rejects when GraphQL returns errors', async () => {
+ server.use(
+ graphql
+ .link(`${MOCK_CONFIG.baseUrl}/api/graphql`)
+ .query('getGroupMembers', async (_, res, ctx) =>
+ res(
+ ctx.errors([
+ { message: 'Unexpected end of document', locations: [] },
+ ]),
+ ),
+ ),
+ );
+ const client = new GitLabClient({
+ config: MOCK_CONFIG,
+ logger: getVoidLogger(),
+ });
+
+ await expect(() =>
+ client.getGroupMembers('group1', ['DIRECT']),
+ ).rejects.toThrow(
'GraphQL errors: [{"message":"Unexpected end of document","locations":[]}]',
);
});
@@ -477,7 +852,7 @@ describe('GitLabClient', () => {
server.use(
graphql
.link(`${MOCK_CONFIG.baseUrl}/api/graphql`)
- .operation((req, res, ctx) =>
+ .query('getGroupMembers', async (req, res, ctx) =>
res(
ctx.data({
group: {
@@ -500,9 +875,10 @@ describe('GitLabClient', () => {
logger: getVoidLogger(),
});
- const members = await client.getGroupMembers('group1');
+ const members = await client.getGroupMembers('group1', ['DIRECT']);
- expect(members).toEqual([1, 2]);
+ expect(members.items[0].id).toEqual(1);
+ expect(members.items[1].id).toEqual(2);
});
});
});
diff --git a/plugins/catalog-backend-module-gitlab/src/lib/client.ts b/plugins/catalog-backend-module-gitlab/src/lib/client.ts
index 41b99e1c5b..79ae328ce2 100644
--- a/plugins/catalog-backend-module-gitlab/src/lib/client.ts
+++ b/plugins/catalog-backend-module-gitlab/src/lib/client.ts
@@ -20,7 +20,12 @@ import {
GitLabIntegrationConfig,
} from '@backstage/integration';
import { Logger } from 'winston';
-import { GitLabGroup, GitLabGroupMembersResponse, GitLabUser } from './types';
+import {
+ GitLabGroup,
+ GitLabDescendantGroupsResponse,
+ GitLabGroupMembersResponse,
+ GitLabUser,
+} from './types';
export type CommonListOptions = {
[key: string]: string | number | boolean | undefined;
@@ -92,12 +97,15 @@ export class GitLabClient {
return this.pagedRequest(`/groups`, options);
}
- async getGroupMembers(groupPath: string): Promise {
- const memberIds = [];
+ async listDescendantGroups(
+ groupPath: string,
+ ): Promise> {
+ const items: GitLabGroup[] = [];
let hasNextPage: boolean = false;
let endCursor: string | null = null;
+
do {
- const response: GitLabGroupMembersResponse = await fetch(
+ const response: GitLabDescendantGroupsResponse = await fetch(
`${this.config.baseUrl}/api/graphql`,
{
method: 'POST',
@@ -107,21 +115,111 @@ export class GitLabClient {
},
body: JSON.stringify({
variables: { group: groupPath, endCursor },
- query: `query($group: ID!, $endCursor: String) {
- group(fullPath: $group) {
- groupMembers(first: 100, relations: [DIRECT], after: $endCursor) {
- nodes {
- user {
+ query: /* GraphQL */ `
+ query listDescendantGroups($group: ID!, $endCursor: String) {
+ group(fullPath: $group) {
+ descendantGroups(first: 100, after: $endCursor) {
+ nodes {
id
+ name
+ description
+ fullPath
+ parent {
+ id
+ }
+ }
+ pageInfo {
+ endCursor
+ hasNextPage
}
- }
- pageInfo {
- endCursor
- hasNextPage
}
}
}
- }`,
+ `,
+ }),
+ },
+ ).then(r => r.json());
+ if (response.errors) {
+ throw new Error(`GraphQL errors: ${JSON.stringify(response.errors)}`);
+ }
+
+ if (!response.data.group?.descendantGroups?.nodes) {
+ this.logger.warn(
+ `Couldn't get groups under ${groupPath}. The provided token might not have sufficient permissions`,
+ );
+ continue;
+ }
+
+ for (const groupItem of response.data.group.descendantGroups.nodes.filter(
+ group => group?.id,
+ )) {
+ const formattedGroupResponse = {
+ id: Number(groupItem.id.replace(/^gid:\/\/gitlab\/Group\//, '')),
+ name: groupItem.name,
+ description: groupItem.description,
+ full_path: groupItem.fullPath,
+ parent_id: Number(
+ groupItem.parent.id.replace(/^gid:\/\/gitlab\/Group\//, ''),
+ ),
+ };
+
+ items.push(formattedGroupResponse);
+ }
+ ({ hasNextPage, endCursor } =
+ response.data.group.descendantGroups.pageInfo);
+ } while (hasNextPage);
+ return { items };
+ }
+
+ async getGroupMembers(
+ groupPath: string,
+ relations: string[],
+ ): Promise> {
+ const items: GitLabUser[] = [];
+ let hasNextPage: boolean = false;
+ let endCursor: string | null = null;
+ do {
+ const response: GitLabGroupMembersResponse = await fetch(
+ `${this.config.baseUrl}/api/graphql`,
+ {
+ method: 'POST',
+ headers: {
+ ...getGitLabRequestOptions(this.config).headers,
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify({
+ variables: { group: groupPath, relations: relations, endCursor },
+ query: /* GraphQL */ `
+ query getGroupMembers(
+ $group: ID!
+ $relations: [GroupMemberRelation!]
+ $endCursor: String
+ ) {
+ group(fullPath: $group) {
+ groupMembers(
+ first: 100
+ relations: $relations
+ after: $endCursor
+ ) {
+ nodes {
+ user {
+ id
+ username
+ commitEmail
+ name
+ state
+ webUrl
+ avatarUrl
+ }
+ }
+ pageInfo {
+ endCursor
+ hasNextPage
+ }
+ }
+ }
+ }
+ `,
}),
},
).then(r => r.json());
@@ -136,16 +234,24 @@ export class GitLabClient {
continue;
}
- memberIds.push(
- ...response.data.group.groupMembers.nodes
- .filter(n => n.user)
- .map(node =>
- Number(node.user.id.replace(/^gid:\/\/gitlab\/User\//, '')),
- ),
- );
+ for (const userItem of response.data.group.groupMembers.nodes.filter(
+ user => user.user?.id,
+ )) {
+ const formattedUserResponse = {
+ id: Number(userItem.user.id.replace(/^gid:\/\/gitlab\/User\//, '')),
+ username: userItem.user.username,
+ email: userItem.user.commitEmail,
+ name: userItem.user.name,
+ state: userItem.user.state,
+ web_url: userItem.user.webUrl,
+ avatar_url: userItem.user.avatarUrl,
+ };
+
+ items.push(formattedUserResponse);
+ }
({ hasNextPage, endCursor } = response.data.group.groupMembers.pageInfo);
} while (hasNextPage);
- return memberIds;
+ return { items };
}
/**
diff --git a/plugins/catalog-backend-module-gitlab/src/lib/types.ts b/plugins/catalog-backend-module-gitlab/src/lib/types.ts
index 9b3a68c107..a339ac57e4 100644
--- a/plugins/catalog-backend-module-gitlab/src/lib/types.ts
+++ b/plugins/catalog-backend-module-gitlab/src/lib/types.ts
@@ -60,7 +60,17 @@ export type GitLabGroupMembersResponse = {
data: {
group: {
groupMembers: {
- nodes: { user: { id: string } }[];
+ nodes: {
+ user: {
+ id: string;
+ username: string;
+ commitEmail: string;
+ name: string;
+ state: string;
+ webUrl: string;
+ avatarUrl: string;
+ };
+ }[];
pageInfo: {
endCursor: string;
hasNextPage: boolean;
@@ -70,6 +80,31 @@ export type GitLabGroupMembersResponse = {
};
};
+export type GitLabDescendantGroupsResponse = {
+ errors: { message: string }[];
+ data: {
+ group: {
+ descendantGroups: {
+ nodes: [
+ {
+ id: string;
+ name: string;
+ description: string;
+ fullPath: string;
+ parent: {
+ id: string;
+ };
+ },
+ ];
+ pageInfo: {
+ endCursor: string;
+ hasNextPage: false;
+ };
+ };
+ };
+ };
+};
+
export type GitlabProviderConfig = {
host: string;
group: string;
diff --git a/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.test.ts b/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.test.ts
index e29cdccc04..ce00510140 100644
--- a/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.test.ts
+++ b/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.test.ts
@@ -475,6 +475,259 @@ describe('GitlabOrgDiscoveryEntityProvider', () => {
});
});
+ it('apply full update on scheduled execution for gitlab.com', async () => {
+ const config = new ConfigReader({
+ integrations: {
+ gitlab: [
+ {
+ host: 'gitlab.com',
+ apiBaseUrl: 'https://gitlab.com/api/v4',
+ token: '1234',
+ },
+ ],
+ },
+ catalog: {
+ providers: {
+ gitlab: {
+ 'test-id': {
+ host: 'gitlab.com',
+ group: 'group1',
+ orgEnabled: true,
+ },
+ },
+ },
+ },
+ });
+ const schedule = new PersistingTaskRunner();
+ const entityProviderConnection: EntityProviderConnection = {
+ applyMutation: jest.fn(),
+ refresh: jest.fn(),
+ };
+ const provider = GitlabOrgDiscoveryEntityProvider.fromConfig(config, {
+ logger,
+ schedule,
+ })[0];
+ expect(provider.getProviderName()).toEqual(
+ 'GitlabOrgDiscoveryEntityProvider:test-id',
+ );
+
+ server.use(
+ graphql
+ .link('https://gitlab.com/api/graphql')
+ .query('listDescendantGroups', async (_, res, ctx) =>
+ res(
+ ctx.data({
+ group: {
+ descendantGroups: {
+ nodes: [
+ {
+ id: 'gid://gitlab/Group/456',
+ name: 'group2',
+ description: 'Group2',
+ fullPath: 'group1/group2',
+ parent: {
+ id: 'gid://gitlab/Group/123',
+ },
+ },
+ {
+ id: 'gid://gitlab/Group/789',
+ name: 'group3',
+ description: 'Group3',
+ fullPath: 'group1/group3',
+ parent: {
+ id: 'gid://gitlab/Group/123',
+ },
+ },
+ ],
+ pageInfo: {
+ endCursor: 'end',
+ hasNextPage: false,
+ },
+ },
+ },
+ }),
+ ),
+ ),
+ graphql
+ .link('https://gitlab.com/api/graphql')
+ .query('getGroupMembers', async (_, res, ctx) =>
+ res(
+ ctx.data({
+ group: {
+ groupMembers: {
+ nodes: [
+ {
+ user: {
+ id: 'gid://gitlab/User/12',
+ username: 'testuser1',
+ commitEmail: 'testuser1@example.com',
+ state: 'active',
+ name: 'Test User 1',
+ webUrl: 'https://gitlab.com/testuser1',
+ avatarUrl: 'https://secure.gravatar.com/',
+ },
+ },
+ {
+ user: {
+ id: 'gid://gitlab/User/34',
+ username: 'testuser2',
+ commitEmail: 'testuser2@example.com',
+ state: 'active',
+ name: 'Test User 2',
+ webUrl: 'https://gitlab.com/testuser2',
+ avatarUrl: 'https://secure.gravatar.com/',
+ },
+ },
+ ],
+ pageInfo: {
+ endCursor: 'end',
+ hasNextPage: false,
+ },
+ },
+ },
+ }),
+ ),
+ ),
+ graphql
+ .link('https://gitlab.com/api/graphql')
+ .query('getGroupMembers', async (req, res, ctx) =>
+ res(
+ ctx.data({
+ group: {
+ groupMembers: {
+ nodes:
+ req.variables.group === 'group1/group2'
+ ? [{ user: { id: 'gid://gitlab/User/12' } }]
+ : [{ user: { id: 'gid://gitlab/User/34' } }],
+ pageInfo: {
+ endCursor: 'end',
+ hasNextPage: false,
+ },
+ },
+ },
+ }),
+ ),
+ ),
+ );
+
+ await provider.connect(entityProviderConnection);
+
+ const taskDef = schedule.getTasks()[0];
+ expect(taskDef.id).toEqual(
+ 'GitlabOrgDiscoveryEntityProvider:test-id:refresh',
+ );
+ await (taskDef.fn as () => Promise)();
+
+ const expectedEntities = [
+ {
+ entity: {
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'User',
+ metadata: {
+ annotations: {
+ 'backstage.io/managed-by-location':
+ 'url:https://gitlab.com/testuser1',
+ 'backstage.io/managed-by-origin-location':
+ 'url:https://gitlab.com/testuser1',
+ 'gitlab.com/user-login': 'https://gitlab.com/testuser1',
+ },
+ name: 'testuser1',
+ },
+ spec: {
+ memberOf: ['group2', 'group3'],
+ profile: {
+ displayName: 'Test User 1',
+ email: 'testuser1@example.com',
+ picture: 'https://secure.gravatar.com/',
+ },
+ },
+ },
+ locationKey: 'GitlabOrgDiscoveryEntityProvider:test-id',
+ },
+ {
+ entity: {
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'User',
+ metadata: {
+ annotations: {
+ 'backstage.io/managed-by-location':
+ 'url:https://gitlab.com/testuser2',
+ 'backstage.io/managed-by-origin-location':
+ 'url:https://gitlab.com/testuser2',
+ 'gitlab.com/user-login': 'https://gitlab.com/testuser2',
+ },
+ name: 'testuser2',
+ },
+ spec: {
+ memberOf: ['group2', 'group3'],
+ profile: {
+ displayName: 'Test User 2',
+ email: 'testuser2@example.com',
+ picture: 'https://secure.gravatar.com/',
+ },
+ },
+ },
+ locationKey: 'GitlabOrgDiscoveryEntityProvider:test-id',
+ },
+ {
+ entity: {
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'Group',
+ metadata: {
+ annotations: {
+ 'backstage.io/managed-by-location':
+ 'url:https://gitlab.com/group1/group2',
+ 'backstage.io/managed-by-origin-location':
+ 'url:https://gitlab.com/group1/group2',
+ 'gitlab.com/team-path': 'group1/group2',
+ },
+ description: 'Group2',
+ name: 'group2',
+ },
+ spec: {
+ children: [],
+ profile: {
+ displayName: 'group2',
+ },
+ type: 'team',
+ },
+ },
+ locationKey: 'GitlabOrgDiscoveryEntityProvider:test-id',
+ },
+ {
+ entity: {
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'Group',
+ metadata: {
+ annotations: {
+ 'backstage.io/managed-by-location':
+ 'url:https://gitlab.com/group1/group3',
+ 'backstage.io/managed-by-origin-location':
+ 'url:https://gitlab.com/group1/group3',
+ 'gitlab.com/team-path': 'group1/group3',
+ },
+ description: 'Group3',
+ name: 'group3',
+ },
+ spec: {
+ children: [],
+ profile: {
+ displayName: 'group3',
+ },
+ type: 'team',
+ },
+ },
+ locationKey: 'GitlabOrgDiscoveryEntityProvider:test-id',
+ },
+ ];
+
+ expect(entityProviderConnection.applyMutation).toHaveBeenCalledTimes(1);
+ expect(entityProviderConnection.applyMutation).toHaveBeenCalledWith({
+ type: 'full',
+ entities: expectedEntities,
+ });
+ });
+
it('fail without schedule and scheduler', () => {
const config = new ConfigReader({
integrations: {
@@ -543,6 +796,42 @@ describe('GitlabOrgDiscoveryEntityProvider', () => {
);
});
+ it('fail with scheduler but no group config when host is gitlab.com', () => {
+ const scheduler = {
+ createScheduledTaskRunner: (_: any) => jest.fn(),
+ } as unknown as PluginTaskScheduler;
+ const config = new ConfigReader({
+ integrations: {
+ gitlab: [
+ {
+ host: 'gitlab.com',
+ apiBaseUrl: 'https://gitlab.com/api/v4',
+ token: '1234',
+ },
+ ],
+ },
+ catalog: {
+ providers: {
+ gitlab: {
+ 'test-id': {
+ host: 'gitlab.com',
+ orgEnabled: true,
+ },
+ },
+ },
+ },
+ });
+
+ expect(() =>
+ GitlabOrgDiscoveryEntityProvider.fromConfig(config, {
+ logger,
+ scheduler,
+ }),
+ ).toThrow(
+ `Missing 'group' value for GitlabOrgDiscoveryEntityProvider:test-id`,
+ );
+ });
+
it('single simple provider config with schedule in config', async () => {
const schedule = new PersistingTaskRunner();
const scheduler = {
diff --git a/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.ts b/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.ts
index 02c036f27a..0ef0e2b23c 100644
--- a/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.ts
+++ b/plugins/catalog-backend-module-gitlab/src/providers/GitlabOrgDiscoveryEntityProvider.ts
@@ -89,6 +89,12 @@ export class GitlabOrgDiscoveryEntityProvider implements EntityProvider {
);
}
+ if (!providerConfig.group && providerConfig.host === 'gitlab.com') {
+ throw new Error(
+ `Missing 'group' value for GitlabOrgDiscoveryEntityProvider:${providerConfig.id}.`,
+ );
+ }
+
if (!options.schedule && !providerConfig.schedule) {
throw new Error(
`No schedule provided neither via code nor config for GitlabOrgDiscoveryEntityProvider:${providerConfig.id}.`,
@@ -168,19 +174,29 @@ export class GitlabOrgDiscoveryEntityProvider implements EntityProvider {
logger: logger,
});
- const users = paginated(options => client.listUsers(options), {
- page: 1,
- per_page: 100,
- active: true,
- });
+ let groups;
+ let users;
- const groups = paginated(
- options => client.listGroups(options),
- {
+ if (client.isSelfManaged()) {
+ groups = paginated(options => client.listGroups(options), {
page: 1,
per_page: 100,
- },
- );
+ });
+
+ users = paginated(options => client.listUsers(options), {
+ page: 1,
+ per_page: 100,
+ active: true,
+ });
+ } else {
+ groups = (await client.listDescendantGroups(this.config.group)).items;
+ users = (
+ await client.getGroupMembers(this.config.group.split('/')[0], [
+ 'DIRECT',
+ 'DESCENDANTS',
+ ])
+ ).items;
+ }
const idMappedUser: { [userId: number]: GitLabUser } = {};
@@ -224,8 +240,12 @@ export class GitlabOrgDiscoveryEntityProvider implements EntityProvider {
groupRes.scanned++;
groupRes.matches.push(group);
- for (const id of await client.getGroupMembers(group.full_path)) {
- const user = idMappedUser[id];
+ const groupUsers = await client.getGroupMembers(group.full_path, [
+ 'DIRECT',
+ ]);
+
+ for (const groupUser of groupUsers.items) {
+ const user = idMappedUser[groupUser.id];
if (user) {
user.groups = (user.groups ?? []).concat(group);
}
diff --git a/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md b/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md
index dd92105d91..59bfe73054 100644
--- a/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md
+++ b/plugins/catalog-backend-module-incremental-ingestion/CHANGELOG.md
@@ -1,5 +1,37 @@
# @backstage/plugin-catalog-backend-module-incremental-ingestion
+## 0.4.6-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
## 0.4.6-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-incremental-ingestion/package.json b/plugins/catalog-backend-module-incremental-ingestion/package.json
index 668170ba32..9dc7133dd8 100644
--- a/plugins/catalog-backend-module-incremental-ingestion/package.json
+++ b/plugins/catalog-backend-module-incremental-ingestion/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-incremental-ingestion",
"description": "An entity provider for streaming large asset sources into the catalog",
- "version": "0.4.6-next.2",
+ "version": "0.4.6-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-ldap/CHANGELOG.md b/plugins/catalog-backend-module-ldap/CHANGELOG.md
index 0acf538b9a..58bda32fee 100644
--- a/plugins/catalog-backend-module-ldap/CHANGELOG.md
+++ b/plugins/catalog-backend-module-ldap/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-catalog-backend-module-ldap
+## 0.5.18-next.3
+
+### Patch Changes
+
+- 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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.5.18-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-ldap/package.json b/plugins/catalog-backend-module-ldap/package.json
index 158c43fcf3..01fb70fbce 100644
--- a/plugins/catalog-backend-module-ldap/package.json
+++ b/plugins/catalog-backend-module-ldap/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-ldap",
"description": "A Backstage catalog backend module that helps integrate towards LDAP",
- "version": "0.5.18-next.2",
+ "version": "0.5.18-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-msgraph/CHANGELOG.md b/plugins/catalog-backend-module-msgraph/CHANGELOG.md
index 91a4b6f004..e0af84a0cb 100644
--- a/plugins/catalog-backend-module-msgraph/CHANGELOG.md
+++ b/plugins/catalog-backend-module-msgraph/CHANGELOG.md
@@ -1,5 +1,34 @@
# @backstage/plugin-catalog-backend-module-msgraph
+## 0.5.10-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.5.10-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-msgraph/package.json b/plugins/catalog-backend-module-msgraph/package.json
index a159b2942a..ba2a1687cc 100644
--- a/plugins/catalog-backend-module-msgraph/package.json
+++ b/plugins/catalog-backend-module-msgraph/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-msgraph",
"description": "A Backstage catalog backend module that helps integrate towards Microsoft Graph",
- "version": "0.5.10-next.2",
+ "version": "0.5.10-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-openapi/CHANGELOG.md b/plugins/catalog-backend-module-openapi/CHANGELOG.md
index 0ea9fc4edf..7e28fce0b3 100644
--- a/plugins/catalog-backend-module-openapi/CHANGELOG.md
+++ b/plugins/catalog-backend-module-openapi/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-catalog-backend-module-openapi
+## 0.1.19-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.1.19-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-openapi/package.json b/plugins/catalog-backend-module-openapi/package.json
index 9c182234c6..7105fab0b1 100644
--- a/plugins/catalog-backend-module-openapi/package.json
+++ b/plugins/catalog-backend-module-openapi/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-openapi",
"description": "A Backstage catalog backend module that helps with OpenAPI specifications",
- "version": "0.1.19-next.2",
+ "version": "0.1.19-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-puppetdb/CHANGELOG.md b/plugins/catalog-backend-module-puppetdb/CHANGELOG.md
index 0137c41830..79454f29e2 100644
--- a/plugins/catalog-backend-module-puppetdb/CHANGELOG.md
+++ b/plugins/catalog-backend-module-puppetdb/CHANGELOG.md
@@ -1,5 +1,35 @@
# @backstage/plugin-catalog-backend-module-puppetdb
+## 0.1.8-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- 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/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.1.8-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-puppetdb/package.json b/plugins/catalog-backend-module-puppetdb/package.json
index 9e830c0902..ea33d2737d 100644
--- a/plugins/catalog-backend-module-puppetdb/package.json
+++ b/plugins/catalog-backend-module-puppetdb/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-puppetdb",
"description": "A Backstage catalog backend module that helps integrate towards PuppetDB",
- "version": "0.1.8-next.2",
+ "version": "0.1.8-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend-module-scaffolder-entity-model/.eslintrc.js b/plugins/catalog-backend-module-scaffolder-entity-model/.eslintrc.js
new file mode 100644
index 0000000000..e2a53a6ad2
--- /dev/null
+++ b/plugins/catalog-backend-module-scaffolder-entity-model/.eslintrc.js
@@ -0,0 +1 @@
+module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
diff --git a/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md b/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md
new file mode 100644
index 0000000000..2c90f3caa7
--- /dev/null
+++ b/plugins/catalog-backend-module-scaffolder-entity-model/CHANGELOG.md
@@ -0,0 +1,17 @@
+# @backstage/plugin-catalog-backend-module-scaffolder-entity-model
+
+## 0.1.0-next.0
+
+### Minor Changes
+
+- d5313ede3529: Added a dedicated module to collect the `ScaffolderEntitiesProcessor` and `catalogModuleTemplateKind`.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
diff --git a/plugins/catalog-backend-module-scaffolder-entity-model/README.md b/plugins/catalog-backend-module-scaffolder-entity-model/README.md
new file mode 100644
index 0000000000..c7535df66d
--- /dev/null
+++ b/plugins/catalog-backend-module-scaffolder-entity-model/README.md
@@ -0,0 +1,3 @@
+# @backstage/plugin-catalog-backend-module-scaffolder-entity-model
+
+Adds support for the scaffolder specific entity model (e.g. the Template kind) to the catalog backend plugin.
diff --git a/plugins/catalog-backend-module-scaffolder-entity-model/api-report.md b/plugins/catalog-backend-module-scaffolder-entity-model/api-report.md
new file mode 100644
index 0000000000..f9861959b7
--- /dev/null
+++ b/plugins/catalog-backend-module-scaffolder-entity-model/api-report.md
@@ -0,0 +1,29 @@
+## API Report File for "@backstage/plugin-catalog-backend-module-scaffolder-entity-model"
+
+> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
+
+```ts
+import { BackendFeature } from '@backstage/backend-plugin-api';
+import { CatalogProcessor } from '@backstage/plugin-catalog-node';
+import { CatalogProcessorEmit } from '@backstage/plugin-catalog-node';
+import { Entity } from '@backstage/catalog-model';
+import { LocationSpec } from '@backstage/plugin-catalog-common';
+
+// @public
+const catalogModuleScaffolderEntityModel: () => BackendFeature;
+export default catalogModuleScaffolderEntityModel;
+
+// @public
+export class ScaffolderEntitiesProcessor implements CatalogProcessor {
+ // (undocumented)
+ getProcessorName(): string;
+ // (undocumented)
+ postProcessEntity(
+ entity: Entity,
+ _location: LocationSpec,
+ emit: CatalogProcessorEmit,
+ ): Promise;
+ // (undocumented)
+ validateEntityKind(entity: Entity): Promise;
+}
+```
diff --git a/plugins/catalog-backend-module-scaffolder-entity-model/package.json b/plugins/catalog-backend-module-scaffolder-entity-model/package.json
new file mode 100644
index 0000000000..71dc6fd136
--- /dev/null
+++ b/plugins/catalog-backend-module-scaffolder-entity-model/package.json
@@ -0,0 +1,49 @@
+{
+ "name": "@backstage/plugin-catalog-backend-module-scaffolder-entity-model",
+ "description": "Adds support for the scaffolder specific entity model (e.g. the Template kind) to the catalog backend plugin.",
+ "version": "0.1.0-next.0",
+ "main": "src/index.ts",
+ "types": "src/index.ts",
+ "license": "Apache-2.0",
+ "publishConfig": {
+ "access": "public"
+ },
+ "exports": {
+ ".": "./src/index.ts",
+ "./package.json": "./package.json"
+ },
+ "typesVersions": {
+ "*": {
+ "package.json": [
+ "package.json"
+ ]
+ }
+ },
+ "backstage": {
+ "role": "backend-plugin-module"
+ },
+ "scripts": {
+ "start": "backstage-cli package start",
+ "build": "backstage-cli package build",
+ "lint": "backstage-cli package lint",
+ "test": "backstage-cli package test",
+ "clean": "backstage-cli package clean",
+ "prepack": "backstage-cli package prepack",
+ "postpack": "backstage-cli package postpack"
+ },
+ "dependencies": {
+ "@backstage/backend-common": "workspace:^",
+ "@backstage/backend-plugin-api": "workspace:^",
+ "@backstage/catalog-model": "workspace:^",
+ "@backstage/plugin-catalog-common": "workspace:^",
+ "@backstage/plugin-catalog-node": "workspace:^",
+ "@backstage/plugin-scaffolder-common": "workspace:^"
+ },
+ "devDependencies": {
+ "@backstage/backend-test-utils": "workspace:^",
+ "@backstage/cli": "workspace:^"
+ },
+ "files": [
+ "dist"
+ ]
+}
diff --git a/plugins/catalog-backend-module-scaffolder-entity-model/src/index.ts b/plugins/catalog-backend-module-scaffolder-entity-model/src/index.ts
new file mode 100644
index 0000000000..b2cd6eadde
--- /dev/null
+++ b/plugins/catalog-backend-module-scaffolder-entity-model/src/index.ts
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2020 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Adds support for the scaffolder specific entity model (e.g. the Template kind) to the catalog backend plugin.
+ *
+ * @packageDocumentation
+ */
+
+export * from './processor';
+export { catalogModuleScaffolderEntityModel as default } from './module';
diff --git a/plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.test.ts b/plugins/catalog-backend-module-scaffolder-entity-model/src/module.test.ts
similarity index 82%
rename from plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.test.ts
rename to plugins/catalog-backend-module-scaffolder-entity-model/src/module.test.ts
index 7b8b99f5e2..f9111c1be5 100644
--- a/plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.test.ts
+++ b/plugins/catalog-backend-module-scaffolder-entity-model/src/module.test.ts
@@ -15,16 +15,16 @@
*/
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
-import { ScaffolderEntitiesProcessor } from '../processor';
-import { catalogModuleTemplateKind } from './catalogModuleTemplateKind';
+import { ScaffolderEntitiesProcessor } from './processor';
+import { catalogModuleScaffolderEntityModel } from './module';
import { startTestBackend } from '@backstage/backend-test-utils';
-describe('catalogModuleTemplateKind', () => {
+describe('catalogModuleScaffolderEntityModel', () => {
it('should register the extension point', async () => {
const extensionPoint = { addProcessor: jest.fn() };
await startTestBackend({
extensionPoints: [[catalogProcessingExtensionPoint, extensionPoint]],
- features: [catalogModuleTemplateKind()],
+ features: [catalogModuleScaffolderEntityModel()],
});
expect(extensionPoint.addProcessor).toHaveBeenCalledWith(
diff --git a/plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.ts b/plugins/catalog-backend-module-scaffolder-entity-model/src/module.ts
similarity index 74%
rename from plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.ts
rename to plugins/catalog-backend-module-scaffolder-entity-model/src/module.ts
index 81d3dc3e93..8ed763d32c 100644
--- a/plugins/scaffolder-backend/src/modules/catalogModuleTemplateKind.ts
+++ b/plugins/catalog-backend-module-scaffolder-entity-model/src/module.ts
@@ -16,16 +16,17 @@
import { createBackendModule } from '@backstage/backend-plugin-api';
import { catalogProcessingExtensionPoint } from '@backstage/plugin-catalog-node/alpha';
-import { ScaffolderEntitiesProcessor } from '../processor';
+import { ScaffolderEntitiesProcessor } from '@backstage/plugin-catalog-backend-module-scaffolder-entity-model';
/**
- * Registers support for the Template kind to the catalog backend plugin.
+ * Registers support for the scaffolder specific entity model (e.g. the Template
+ * kind) to the catalog backend plugin.
*
- * @alpha
+ * @public
*/
-export const catalogModuleTemplateKind = createBackendModule({
- moduleId: 'templateKind',
+export const catalogModuleScaffolderEntityModel = createBackendModule({
pluginId: 'catalog',
+ moduleId: 'scaffolderEntityModel',
register(env) {
env.registerInit({
deps: {
diff --git a/plugins/scaffolder-backend/src/processor/ScaffolderEntitiesProcessor.test.ts b/plugins/catalog-backend-module-scaffolder-entity-model/src/processor/ScaffolderEntitiesProcessor.test.ts
similarity index 100%
rename from plugins/scaffolder-backend/src/processor/ScaffolderEntitiesProcessor.test.ts
rename to plugins/catalog-backend-module-scaffolder-entity-model/src/processor/ScaffolderEntitiesProcessor.test.ts
diff --git a/plugins/scaffolder-backend/src/processor/ScaffolderEntitiesProcessor.ts b/plugins/catalog-backend-module-scaffolder-entity-model/src/processor/ScaffolderEntitiesProcessor.ts
similarity index 96%
rename from plugins/scaffolder-backend/src/processor/ScaffolderEntitiesProcessor.ts
rename to plugins/catalog-backend-module-scaffolder-entity-model/src/processor/ScaffolderEntitiesProcessor.ts
index 1de381a8ff..e597d74233 100644
--- a/plugins/scaffolder-backend/src/processor/ScaffolderEntitiesProcessor.ts
+++ b/plugins/catalog-backend-module-scaffolder-entity-model/src/processor/ScaffolderEntitiesProcessor.ts
@@ -32,7 +32,11 @@ import {
templateEntityV1beta3Validator,
} from '@backstage/plugin-scaffolder-common';
-/** @public */
+/**
+ * Adds support for scaffolder specific entity kinds to the catalog.
+ *
+ * @public
+ */
export class ScaffolderEntitiesProcessor implements CatalogProcessor {
getProcessorName(): string {
return 'ScaffolderEntitiesProcessor';
diff --git a/plugins/scaffolder-backend/src/processor/index.ts b/plugins/catalog-backend-module-scaffolder-entity-model/src/processor/index.ts
similarity index 100%
rename from plugins/scaffolder-backend/src/processor/index.ts
rename to plugins/catalog-backend-module-scaffolder-entity-model/src/processor/index.ts
diff --git a/plugins/catalog-backend-module-unprocessed/CHANGELOG.md b/plugins/catalog-backend-module-unprocessed/CHANGELOG.md
index cc800f60a5..ee8e415944 100644
--- a/plugins/catalog-backend-module-unprocessed/CHANGELOG.md
+++ b/plugins/catalog-backend-module-unprocessed/CHANGELOG.md
@@ -1,5 +1,32 @@
# @backstage/plugin-catalog-backend-module-unprocessed
+## 0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.2.3-next.2
### Patch Changes
diff --git a/plugins/catalog-backend-module-unprocessed/package.json b/plugins/catalog-backend-module-unprocessed/package.json
index 6d0e25107e..e4945b55b2 100644
--- a/plugins/catalog-backend-module-unprocessed/package.json
+++ b/plugins/catalog-backend-module-unprocessed/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend-module-unprocessed",
"description": "Backstage Catalog module to view unprocessed entities",
- "version": "0.2.3-next.2",
+ "version": "0.3.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-backend/CHANGELOG.md b/plugins/catalog-backend/CHANGELOG.md
index cfc1bc40f4..1bb1c6abac 100644
--- a/plugins/catalog-backend/CHANGELOG.md
+++ b/plugins/catalog-backend/CHANGELOG.md
@@ -1,5 +1,46 @@
# @backstage/plugin-catalog-backend
+## 1.13.0-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-module-catalog@0.1.7-next.3
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-openapi-utils@0.0.4-next.0
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
## 1.13.0-next.2
### Patch Changes
diff --git a/plugins/catalog-backend/package.json b/plugins/catalog-backend/package.json
index 3e13c4948f..76ccf49835 100644
--- a/plugins/catalog-backend/package.json
+++ b/plugins/catalog-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-backend",
"description": "The Backstage backend plugin that provides the Backstage catalog",
- "version": "1.13.0-next.2",
+ "version": "1.13.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-common/CHANGELOG.md b/plugins/catalog-common/CHANGELOG.md
index 8de4b1a4e1..ea765169bb 100644
--- a/plugins/catalog-common/CHANGELOG.md
+++ b/plugins/catalog-common/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-catalog-common
+## 1.0.16-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+
## 1.0.16-next.1
### Patch Changes
diff --git a/plugins/catalog-common/package.json b/plugins/catalog-common/package.json
index 8c4955d7f1..3d17f6266e 100644
--- a/plugins/catalog-common/package.json
+++ b/plugins/catalog-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-common",
"description": "Common functionalities for the catalog plugin",
- "version": "1.0.16-next.1",
+ "version": "1.0.16-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-customized/CHANGELOG.md b/plugins/catalog-customized/CHANGELOG.md
index ef9df78bb8..ebdf4da400 100644
--- a/plugins/catalog-customized/CHANGELOG.md
+++ b/plugins/catalog-customized/CHANGELOG.md
@@ -1,5 +1,13 @@
# @internal/plugin-catalog-customized
+## 0.0.14-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog@1.13.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+
## 0.0.14-next.2
### Patch Changes
diff --git a/plugins/catalog-customized/package.json b/plugins/catalog-customized/package.json
index 3628844481..253a56c649 100644
--- a/plugins/catalog-customized/package.json
+++ b/plugins/catalog-customized/package.json
@@ -1,7 +1,7 @@
{
"name": "@internal/plugin-catalog-customized",
"description": "The internal Backstage Customizable plugin for browsing the Backstage catalog",
- "version": "0.0.14-next.2",
+ "version": "0.0.14-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-graph/CHANGELOG.md b/plugins/catalog-graph/CHANGELOG.md
index 80572558eb..aa92c9277f 100644
--- a/plugins/catalog-graph/CHANGELOG.md
+++ b/plugins/catalog-graph/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-catalog-graph
+## 0.2.36-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
## 0.2.36-next.2
### Patch Changes
diff --git a/plugins/catalog-graph/package.json b/plugins/catalog-graph/package.json
index 5c339c2d35..41546c98be 100644
--- a/plugins/catalog-graph/package.json
+++ b/plugins/catalog-graph/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-catalog-graph",
- "version": "0.2.36-next.2",
+ "version": "0.2.36-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-graph/src/components/EntityRelationsGraph/EntityRelationsGraph.test.tsx b/plugins/catalog-graph/src/components/EntityRelationsGraph/EntityRelationsGraph.test.tsx
index 8a3352abb4..2556cd06d7 100644
--- a/plugins/catalog-graph/src/components/EntityRelationsGraph/EntityRelationsGraph.test.tsx
+++ b/plugins/catalog-graph/src/components/EntityRelationsGraph/EntityRelationsGraph.test.tsx
@@ -30,7 +30,7 @@ import React, { FunctionComponent } from 'react';
import { EntityRelationsGraph } from './EntityRelationsGraph';
describe('', () => {
- let Wrapper: FunctionComponent;
+ let Wrapper: FunctionComponent>;
const entities: { [ref: string]: Entity } = {
'b:d/c': {
apiVersion: 'a',
diff --git a/plugins/catalog-graphql/CHANGELOG.md b/plugins/catalog-graphql/CHANGELOG.md
index 6726bf5126..8077a3eab7 100644
--- a/plugins/catalog-graphql/CHANGELOG.md
+++ b/plugins/catalog-graphql/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-catalog-graphql
+## 0.3.23-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+
## 0.3.23-next.1
### Patch Changes
diff --git a/plugins/catalog-graphql/package.json b/plugins/catalog-graphql/package.json
index 3daf62470a..391c3c00d7 100644
--- a/plugins/catalog-graphql/package.json
+++ b/plugins/catalog-graphql/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-graphql",
"description": "An experimental Backstage catalog GraphQL module",
- "version": "0.3.23-next.1",
+ "version": "0.3.23-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-import/CHANGELOG.md b/plugins/catalog-import/CHANGELOG.md
index 77ea442018..86fa570e66 100644
--- a/plugins/catalog-import/CHANGELOG.md
+++ b/plugins/catalog-import/CHANGELOG.md
@@ -1,5 +1,22 @@
# @backstage/plugin-catalog-import
+## 0.9.14-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+
## 0.9.14-next.2
### Patch Changes
diff --git a/plugins/catalog-import/package.json b/plugins/catalog-import/package.json
index 2cdc0fc786..3bb896f8e7 100644
--- a/plugins/catalog-import/package.json
+++ b/plugins/catalog-import/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-import",
"description": "A Backstage plugin the helps you import entities into your catalog",
- "version": "0.9.14-next.2",
+ "version": "0.9.14-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-node/CHANGELOG.md b/plugins/catalog-node/CHANGELOG.md
index 74e0208707..06f9333cab 100644
--- a/plugins/catalog-node/CHANGELOG.md
+++ b/plugins/catalog-node/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-catalog-node
+## 1.4.4-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+
## 1.4.4-next.2
### Patch Changes
diff --git a/plugins/catalog-node/package.json b/plugins/catalog-node/package.json
index 627ed88823..c85acb1c15 100644
--- a/plugins/catalog-node/package.json
+++ b/plugins/catalog-node/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-node",
"description": "The plugin-catalog-node module for @backstage/plugin-catalog-backend",
- "version": "1.4.4-next.2",
+ "version": "1.4.4-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-react/CHANGELOG.md b/plugins/catalog-react/CHANGELOG.md
index 9970fc1754..f70079310f 100644
--- a/plugins/catalog-react/CHANGELOG.md
+++ b/plugins/catalog-react/CHANGELOG.md
@@ -1,5 +1,24 @@
# @backstage/plugin-catalog-react
+## 1.8.4-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
## 1.8.4-next.2
### Patch Changes
diff --git a/plugins/catalog-react/package.json b/plugins/catalog-react/package.json
index f1858b024d..319ff31eee 100644
--- a/plugins/catalog-react/package.json
+++ b/plugins/catalog-react/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog-react",
"description": "A frontend library that helps other Backstage plugins interact with the catalog",
- "version": "1.8.4-next.2",
+ "version": "1.8.4-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog-react/src/hooks/useEntity.test.tsx b/plugins/catalog-react/src/hooks/useEntity.test.tsx
index 3a1e5010d3..8fc388654a 100644
--- a/plugins/catalog-react/src/hooks/useEntity.test.tsx
+++ b/plugins/catalog-react/src/hooks/useEntity.test.tsx
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-import React from 'react';
+import React, { PropsWithChildren } from 'react';
import { renderHook } from '@testing-library/react-hooks';
import {
useEntity,
@@ -32,7 +32,9 @@ const entity = { metadata: { name: 'my-entity' }, kind: 'MyKind' } as Entity;
describe('useEntity', () => {
it('should throw if no entity is provided', async () => {
const { result } = renderHook(() => useEntity(), {
- wrapper: ({ children }) => ,
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
+
+ ),
});
expect(result.error?.message).toMatch(/entity has not been loaded/);
@@ -40,7 +42,7 @@ describe('useEntity', () => {
it('should provide an entity', async () => {
const { result } = renderHook(() => useEntity(), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
),
});
@@ -52,7 +54,7 @@ describe('useEntity', () => {
const analyticsSpy = new MockAnalyticsApi();
const apis = TestApiRegistry.from([analyticsApiRef, analyticsSpy]);
const { result } = renderHook(() => useAnalytics(), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
@@ -70,7 +72,7 @@ describe('useEntity', () => {
describe('useAsyncEntity', () => {
it('should provide no entity', async () => {
const { result } = renderHook(() => useAsyncEntity(), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
),
});
@@ -84,7 +86,7 @@ describe('useAsyncEntity', () => {
it('should provide an entity', async () => {
const refresh = () => {};
const { result } = renderHook(() => useAsyncEntity(), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
{
it('should provide an error', async () => {
const error = new Error('oh no');
const { result } = renderHook(() => useAsyncEntity(), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: PropsWithChildren<{}>) => (
{
const analyticsSpy = new MockAnalyticsApi();
const apis = TestApiRegistry.from([analyticsApiRef, analyticsSpy]);
const { result } = renderHook(() => useAnalytics(), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
{
const analyticsSpy = new MockAnalyticsApi();
const apis = TestApiRegistry.from([analyticsApiRef, analyticsSpy]);
const { result } = renderHook(() => useAnalytics(), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: PropsWithChildren<{}>) => (
diff --git a/plugins/catalog-react/src/hooks/useRelatedEntities.test.tsx b/plugins/catalog-react/src/hooks/useRelatedEntities.test.tsx
index 0d415274e0..8de7822d59 100644
--- a/plugins/catalog-react/src/hooks/useRelatedEntities.test.tsx
+++ b/plugins/catalog-react/src/hooks/useRelatedEntities.test.tsx
@@ -17,7 +17,7 @@
import { Entity } from '@backstage/catalog-model';
import { TestApiProvider } from '@backstage/test-utils';
import { WrapperComponent, renderHook } from '@testing-library/react-hooks';
-import React from 'react';
+import React, { PropsWithChildren } from 'react';
import { catalogApiRef } from '../api';
import { useRelatedEntities } from './useRelatedEntities';
@@ -50,7 +50,7 @@ describe('useRelatedEntities', () => {
getEntitiesByRefs: jest.fn(),
};
- const wrapper: WrapperComponent<{}> = ({ children }) => {
+ const wrapper: WrapperComponent> = ({ children }) => {
return (
{children}
diff --git a/plugins/catalog-unprocessed-entities/CHANGELOG.md b/plugins/catalog-unprocessed-entities/CHANGELOG.md
index db6b14af55..84fdac0bdc 100644
--- a/plugins/catalog-unprocessed-entities/CHANGELOG.md
+++ b/plugins/catalog-unprocessed-entities/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-catalog-unprocessed-entities
+## 0.1.3-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.3-next.2
### Patch Changes
diff --git a/plugins/catalog-unprocessed-entities/package.json b/plugins/catalog-unprocessed-entities/package.json
index 786fbbcb90..350988b3ac 100644
--- a/plugins/catalog-unprocessed-entities/package.json
+++ b/plugins/catalog-unprocessed-entities/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-catalog-unprocessed-entities",
- "version": "0.1.3-next.2",
+ "version": "0.1.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/catalog/CHANGELOG.md b/plugins/catalog/CHANGELOG.md
index cd8834f13a..c47c7df2a4 100644
--- a/plugins/catalog/CHANGELOG.md
+++ b/plugins/catalog/CHANGELOG.md
@@ -1,5 +1,25 @@
# @backstage/plugin-catalog
+## 1.13.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
## 1.13.0-next.2
### Minor Changes
diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json
index ba82b890e2..e3b7975f84 100644
--- a/plugins/catalog/package.json
+++ b/plugins/catalog/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-catalog",
"description": "The Backstage plugin for browsing the Backstage catalog",
- "version": "1.13.0-next.2",
+ "version": "1.13.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/cicd-statistics-module-gitlab/CHANGELOG.md b/plugins/cicd-statistics-module-gitlab/CHANGELOG.md
index 2b7658a311..437aea1243 100644
--- a/plugins/cicd-statistics-module-gitlab/CHANGELOG.md
+++ b/plugins/cicd-statistics-module-gitlab/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-cicd-statistics-module-gitlab
+## 0.1.20-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-cicd-statistics@0.1.26-next.3
+
## 0.1.20-next.2
### Patch Changes
diff --git a/plugins/cicd-statistics-module-gitlab/package.json b/plugins/cicd-statistics-module-gitlab/package.json
index e21ff59997..2ad82799ab 100644
--- a/plugins/cicd-statistics-module-gitlab/package.json
+++ b/plugins/cicd-statistics-module-gitlab/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-cicd-statistics-module-gitlab",
"description": "CI/CD Statistics plugin module; Gitlab CICD",
- "version": "0.1.20-next.2",
+ "version": "0.1.20-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/cicd-statistics/CHANGELOG.md b/plugins/cicd-statistics/CHANGELOG.md
index 11d702d524..5bf0006ff7 100644
--- a/plugins/cicd-statistics/CHANGELOG.md
+++ b/plugins/cicd-statistics/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-cicd-statistics
+## 0.1.26-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+
## 0.1.26-next.2
### Patch Changes
diff --git a/plugins/cicd-statistics/package.json b/plugins/cicd-statistics/package.json
index 168349fe56..28b99ddc13 100644
--- a/plugins/cicd-statistics/package.json
+++ b/plugins/cicd-statistics/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-cicd-statistics",
"description": "A frontend plugin visualizing CI/CD pipeline statistics (build time)",
- "version": "0.1.26-next.2",
+ "version": "0.1.26-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/circleci/CHANGELOG.md b/plugins/circleci/CHANGELOG.md
index eaf99f6092..4f4b391646 100644
--- a/plugins/circleci/CHANGELOG.md
+++ b/plugins/circleci/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-circleci
+## 0.3.24-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.3.24-next.2
### Patch Changes
diff --git a/plugins/circleci/package.json b/plugins/circleci/package.json
index c569c2e50f..f00381086b 100644
--- a/plugins/circleci/package.json
+++ b/plugins/circleci/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-circleci",
"description": "A Backstage plugin that integrates towards Circle CI",
- "version": "0.3.24-next.2",
+ "version": "0.3.24-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/cloudbuild/CHANGELOG.md b/plugins/cloudbuild/CHANGELOG.md
index 57c16ea7cf..334dc576d6 100644
--- a/plugins/cloudbuild/CHANGELOG.md
+++ b/plugins/cloudbuild/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-cloudbuild
+## 0.3.24-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.3.24-next.2
### Patch Changes
diff --git a/plugins/cloudbuild/package.json b/plugins/cloudbuild/package.json
index 09e375b46e..3134b996e0 100644
--- a/plugins/cloudbuild/package.json
+++ b/plugins/cloudbuild/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-cloudbuild",
"description": "A Backstage plugin that integrates towards Google Cloud Build",
- "version": "0.3.24-next.2",
+ "version": "0.3.24-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/code-climate/CHANGELOG.md b/plugins/code-climate/CHANGELOG.md
index 4b062bb563..1534f24849 100644
--- a/plugins/code-climate/CHANGELOG.md
+++ b/plugins/code-climate/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-code-climate
+## 0.1.24-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.24-next.2
### Patch Changes
diff --git a/plugins/code-climate/package.json b/plugins/code-climate/package.json
index 36af08c4ae..86ea49464f 100644
--- a/plugins/code-climate/package.json
+++ b/plugins/code-climate/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-code-climate",
- "version": "0.1.24-next.2",
+ "version": "0.1.24-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/code-coverage-backend/CHANGELOG.md b/plugins/code-coverage-backend/CHANGELOG.md
index de7bb9bed0..7a5f17d5a3 100644
--- a/plugins/code-coverage-backend/CHANGELOG.md
+++ b/plugins/code-coverage-backend/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-code-coverage-backend
+## 0.2.17-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.2.17-next.2
### Patch Changes
diff --git a/plugins/code-coverage-backend/package.json b/plugins/code-coverage-backend/package.json
index 5b1e7867b4..f81d8b6e3c 100644
--- a/plugins/code-coverage-backend/package.json
+++ b/plugins/code-coverage-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-code-coverage-backend",
"description": "A Backstage backend plugin that helps you keep track of your code coverage",
- "version": "0.2.17-next.2",
+ "version": "0.2.17-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/code-coverage/CHANGELOG.md b/plugins/code-coverage/CHANGELOG.md
index 3ae505d854..747807034f 100644
--- a/plugins/code-coverage/CHANGELOG.md
+++ b/plugins/code-coverage/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-code-coverage
+## 0.2.17-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.17-next.2
### Patch Changes
diff --git a/plugins/code-coverage/package.json b/plugins/code-coverage/package.json
index a7ab1f0188..9dda17c56f 100644
--- a/plugins/code-coverage/package.json
+++ b/plugins/code-coverage/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-code-coverage",
"description": "A Backstage plugin that helps you keep track of your code coverage",
- "version": "0.2.17-next.2",
+ "version": "0.2.17-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/codescene/CHANGELOG.md b/plugins/codescene/CHANGELOG.md
index 8e03362c46..7a73c288e9 100644
--- a/plugins/codescene/CHANGELOG.md
+++ b/plugins/codescene/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-codescene
+## 0.1.17-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.17-next.2
### Patch Changes
diff --git a/plugins/codescene/package.json b/plugins/codescene/package.json
index 1fa703e45a..1572102f6a 100644
--- a/plugins/codescene/package.json
+++ b/plugins/codescene/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-codescene",
- "version": "0.1.17-next.2",
+ "version": "0.1.17-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/config-schema/CHANGELOG.md b/plugins/config-schema/CHANGELOG.md
index 976c3a5012..237ad63dbe 100644
--- a/plugins/config-schema/CHANGELOG.md
+++ b/plugins/config-schema/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-config-schema
+## 0.1.45-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
## 0.1.45-next.2
### Patch Changes
diff --git a/plugins/config-schema/package.json b/plugins/config-schema/package.json
index 1cb52f0ce4..368be1ee65 100644
--- a/plugins/config-schema/package.json
+++ b/plugins/config-schema/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-config-schema",
"description": "A Backstage plugin that lets you browse the configuration schema of your app",
- "version": "0.1.45-next.2",
+ "version": "0.1.45-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/cost-insights-common/CHANGELOG.md b/plugins/cost-insights-common/CHANGELOG.md
index 52d167c17c..40adfc123a 100644
--- a/plugins/cost-insights-common/CHANGELOG.md
+++ b/plugins/cost-insights-common/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/plugin-cost-insights-common
+## 0.1.2-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
## 0.1.1
### Patch Changes
diff --git a/plugins/cost-insights-common/package.json b/plugins/cost-insights-common/package.json
index a2d2c7d439..5f951cef95 100644
--- a/plugins/cost-insights-common/package.json
+++ b/plugins/cost-insights-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-cost-insights-common",
"description": "Common functionalities for the cost-insights plugin",
- "version": "0.1.1",
+ "version": "0.1.2-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/cost-insights/CHANGELOG.md b/plugins/cost-insights/CHANGELOG.md
index 59884812ee..5cf01ef04b 100644
--- a/plugins/cost-insights/CHANGELOG.md
+++ b/plugins/cost-insights/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-cost-insights
+## 0.12.13-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-cost-insights-common@0.1.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
## 0.12.13-next.2
### Patch Changes
diff --git a/plugins/cost-insights/package.json b/plugins/cost-insights/package.json
index 1774944f7a..b37d366b06 100644
--- a/plugins/cost-insights/package.json
+++ b/plugins/cost-insights/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-cost-insights",
"description": "A Backstage plugin that helps you keep track of your cloud spend",
- "version": "0.12.13-next.2",
+ "version": "0.12.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/devtools-backend/CHANGELOG.md b/plugins/devtools-backend/CHANGELOG.md
index 7d5f1f5b79..ebb942473b 100644
--- a/plugins/devtools-backend/CHANGELOG.md
+++ b/plugins/devtools-backend/CHANGELOG.md
@@ -1,5 +1,40 @@
# @backstage/plugin-devtools-backend
+## 0.2.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-devtools-common@0.1.4-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/cli-common@0.1.12
+ - @backstage/config-loader@1.5.0-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.1.6-next.2
### Patch Changes
diff --git a/plugins/devtools-backend/package.json b/plugins/devtools-backend/package.json
index e9fb555a0e..a5db6d2fd4 100644
--- a/plugins/devtools-backend/package.json
+++ b/plugins/devtools-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-devtools-backend",
- "version": "0.1.6-next.2",
+ "version": "0.2.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/devtools-common/CHANGELOG.md b/plugins/devtools-common/CHANGELOG.md
index 2198dc466f..4e5603ebd9 100644
--- a/plugins/devtools-common/CHANGELOG.md
+++ b/plugins/devtools-common/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-devtools-common
+## 0.1.4-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/types@1.1.1-next.0
+
## 0.1.4-next.1
### Patch Changes
diff --git a/plugins/devtools-common/package.json b/plugins/devtools-common/package.json
index a4c81369b7..921a658930 100644
--- a/plugins/devtools-common/package.json
+++ b/plugins/devtools-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-devtools-common",
"description": "Common functionalities for the devtools plugin",
- "version": "0.1.4-next.1",
+ "version": "0.1.4-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/devtools/CHANGELOG.md b/plugins/devtools/CHANGELOG.md
index f47e662f22..13c452e26f 100644
--- a/plugins/devtools/CHANGELOG.md
+++ b/plugins/devtools/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-devtools
+## 0.1.4-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-devtools-common@0.1.4-next.2
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
## 0.1.4-next.2
### Patch Changes
diff --git a/plugins/devtools/package.json b/plugins/devtools/package.json
index 4cb9b95f0b..7311975ae9 100644
--- a/plugins/devtools/package.json
+++ b/plugins/devtools/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-devtools",
- "version": "0.1.4-next.2",
+ "version": "0.1.4-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/dynatrace/CHANGELOG.md b/plugins/dynatrace/CHANGELOG.md
index 6d5aa819ee..5abbd83b7e 100644
--- a/plugins/dynatrace/CHANGELOG.md
+++ b/plugins/dynatrace/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-dynatrace
+## 7.0.4-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 7.0.4-next.2
### Patch Changes
diff --git a/plugins/dynatrace/package.json b/plugins/dynatrace/package.json
index e565870482..749e2e730f 100644
--- a/plugins/dynatrace/package.json
+++ b/plugins/dynatrace/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-dynatrace",
- "version": "7.0.4-next.2",
+ "version": "7.0.4-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/entity-feedback-backend/CHANGELOG.md b/plugins/entity-feedback-backend/CHANGELOG.md
index 96ecb37900..dd9f9288e3 100644
--- a/plugins/entity-feedback-backend/CHANGELOG.md
+++ b/plugins/entity-feedback-backend/CHANGELOG.md
@@ -1,5 +1,36 @@
# @backstage/plugin-entity-feedback-backend
+## 0.2.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-entity-feedback-common@0.1.3-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.1.9-next.2
### Patch Changes
diff --git a/plugins/entity-feedback-backend/package.json b/plugins/entity-feedback-backend/package.json
index 6c94fa4845..60521fe3c6 100644
--- a/plugins/entity-feedback-backend/package.json
+++ b/plugins/entity-feedback-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-entity-feedback-backend",
- "version": "0.1.9-next.2",
+ "version": "0.2.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/entity-feedback-common/CHANGELOG.md b/plugins/entity-feedback-common/CHANGELOG.md
index 1b1bee0c2a..b1993659d2 100644
--- a/plugins/entity-feedback-common/CHANGELOG.md
+++ b/plugins/entity-feedback-common/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/plugin-entity-feedback-common
+## 0.1.3-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
## 0.1.2
### Patch Changes
diff --git a/plugins/entity-feedback-common/package.json b/plugins/entity-feedback-common/package.json
index 2518aec4fc..0ec33e3848 100644
--- a/plugins/entity-feedback-common/package.json
+++ b/plugins/entity-feedback-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-entity-feedback-common",
"description": "Common functionalities for the entity-feedback plugin",
- "version": "0.1.2",
+ "version": "0.1.3-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/entity-feedback/CHANGELOG.md b/plugins/entity-feedback/CHANGELOG.md
index 326d0b2d15..f14d4ec939 100644
--- a/plugins/entity-feedback/CHANGELOG.md
+++ b/plugins/entity-feedback/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-entity-feedback
+## 0.2.7-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-entity-feedback-common@0.1.3-next.0
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.7-next.2
### Patch Changes
diff --git a/plugins/entity-feedback/package.json b/plugins/entity-feedback/package.json
index de58ce46fb..dbfb824eac 100644
--- a/plugins/entity-feedback/package.json
+++ b/plugins/entity-feedback/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-entity-feedback",
- "version": "0.2.7-next.2",
+ "version": "0.2.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/entity-validation/CHANGELOG.md b/plugins/entity-validation/CHANGELOG.md
index c43bf82216..da0167951f 100644
--- a/plugins/entity-validation/CHANGELOG.md
+++ b/plugins/entity-validation/CHANGELOG.md
@@ -1,5 +1,20 @@
# @backstage/plugin-entity-validation
+## 0.1.9-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.9-next.2
### Patch Changes
diff --git a/plugins/entity-validation/package.json b/plugins/entity-validation/package.json
index 9a22d88853..fbcdaf8407 100644
--- a/plugins/entity-validation/package.json
+++ b/plugins/entity-validation/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-entity-validation",
- "version": "0.1.9-next.2",
+ "version": "0.1.9-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/events-backend-module-aws-sqs/CHANGELOG.md b/plugins/events-backend-module-aws-sqs/CHANGELOG.md
index 4c4532ad69..a883523293 100644
--- a/plugins/events-backend-module-aws-sqs/CHANGELOG.md
+++ b/plugins/events-backend-module-aws-sqs/CHANGELOG.md
@@ -1,5 +1,33 @@
# @backstage/plugin-events-backend-module-aws-sqs
+## 0.2.6-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
## 0.2.6-next.2
### Patch Changes
diff --git a/plugins/events-backend-module-aws-sqs/package.json b/plugins/events-backend-module-aws-sqs/package.json
index 9794f37acb..6e04fe80df 100644
--- a/plugins/events-backend-module-aws-sqs/package.json
+++ b/plugins/events-backend-module-aws-sqs/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-events-backend-module-aws-sqs",
- "version": "0.2.6-next.2",
+ "version": "0.2.6-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/events-backend-module-azure/CHANGELOG.md b/plugins/events-backend-module-azure/CHANGELOG.md
index c853e287e3..5070283861 100644
--- a/plugins/events-backend-module-azure/CHANGELOG.md
+++ b/plugins/events-backend-module-azure/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-events-backend-module-azure
+## 0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
## 0.1.13-next.2
### Patch Changes
diff --git a/plugins/events-backend-module-azure/package.json b/plugins/events-backend-module-azure/package.json
index 36756a1cbe..13e3b262f3 100644
--- a/plugins/events-backend-module-azure/package.json
+++ b/plugins/events-backend-module-azure/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-events-backend-module-azure",
- "version": "0.1.13-next.2",
+ "version": "0.1.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md b/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md
index 26a93fb806..591a5f52b3 100644
--- a/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md
+++ b/plugins/events-backend-module-bitbucket-cloud/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-events-backend-module-bitbucket-cloud
+## 0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
## 0.1.13-next.2
### Patch Changes
diff --git a/plugins/events-backend-module-bitbucket-cloud/package.json b/plugins/events-backend-module-bitbucket-cloud/package.json
index 1325a51359..2cb6036dda 100644
--- a/plugins/events-backend-module-bitbucket-cloud/package.json
+++ b/plugins/events-backend-module-bitbucket-cloud/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-events-backend-module-bitbucket-cloud",
- "version": "0.1.13-next.2",
+ "version": "0.1.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/events-backend-module-gerrit/CHANGELOG.md b/plugins/events-backend-module-gerrit/CHANGELOG.md
index 3156fde16c..00b1458b9c 100644
--- a/plugins/events-backend-module-gerrit/CHANGELOG.md
+++ b/plugins/events-backend-module-gerrit/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-events-backend-module-gerrit
+## 0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
## 0.1.13-next.2
### Patch Changes
diff --git a/plugins/events-backend-module-gerrit/package.json b/plugins/events-backend-module-gerrit/package.json
index 87844bd82c..db3c63aa67 100644
--- a/plugins/events-backend-module-gerrit/package.json
+++ b/plugins/events-backend-module-gerrit/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-events-backend-module-gerrit",
- "version": "0.1.13-next.2",
+ "version": "0.1.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/events-backend-module-github/CHANGELOG.md b/plugins/events-backend-module-github/CHANGELOG.md
index 9bff52ff8b..65ca36d696 100644
--- a/plugins/events-backend-module-github/CHANGELOG.md
+++ b/plugins/events-backend-module-github/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-events-backend-module-github
+## 0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
## 0.1.13-next.2
### Patch Changes
diff --git a/plugins/events-backend-module-github/package.json b/plugins/events-backend-module-github/package.json
index 3a9f9671e2..4dea3ab25c 100644
--- a/plugins/events-backend-module-github/package.json
+++ b/plugins/events-backend-module-github/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-events-backend-module-github",
- "version": "0.1.13-next.2",
+ "version": "0.1.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/events-backend-module-gitlab/CHANGELOG.md b/plugins/events-backend-module-gitlab/CHANGELOG.md
index 9ddd93105e..0cdd6f8d52 100644
--- a/plugins/events-backend-module-gitlab/CHANGELOG.md
+++ b/plugins/events-backend-module-gitlab/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-events-backend-module-gitlab
+## 0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
## 0.1.13-next.2
### Patch Changes
diff --git a/plugins/events-backend-module-gitlab/package.json b/plugins/events-backend-module-gitlab/package.json
index 475645c361..de4fed7289 100644
--- a/plugins/events-backend-module-gitlab/package.json
+++ b/plugins/events-backend-module-gitlab/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-events-backend-module-gitlab",
- "version": "0.1.13-next.2",
+ "version": "0.1.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/events-backend-test-utils/CHANGELOG.md b/plugins/events-backend-test-utils/CHANGELOG.md
index 9580013f0f..63a2e594d3 100644
--- a/plugins/events-backend-test-utils/CHANGELOG.md
+++ b/plugins/events-backend-test-utils/CHANGELOG.md
@@ -1,5 +1,12 @@
# @backstage/plugin-events-backend-test-utils
+## 0.1.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-events-node@0.2.12-next.3
+
## 0.1.13-next.2
### Patch Changes
diff --git a/plugins/events-backend-test-utils/package.json b/plugins/events-backend-test-utils/package.json
index ae61957fd4..4ea6403b8c 100644
--- a/plugins/events-backend-test-utils/package.json
+++ b/plugins/events-backend-test-utils/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-events-backend-test-utils",
"description": "The plugin-events-backend-test-utils for @backstage/plugin-events-node",
- "version": "0.1.13-next.2",
+ "version": "0.1.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/events-backend/CHANGELOG.md b/plugins/events-backend/CHANGELOG.md
index 53888be33f..e98a5069fe 100644
--- a/plugins/events-backend/CHANGELOG.md
+++ b/plugins/events-backend/CHANGELOG.md
@@ -1,5 +1,31 @@
# @backstage/plugin-events-backend
+## 0.2.12-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-events-node@0.2.12-next.3
+
## 0.2.12-next.2
### Patch Changes
diff --git a/plugins/events-backend/package.json b/plugins/events-backend/package.json
index 00ea02e068..b680727451 100644
--- a/plugins/events-backend/package.json
+++ b/plugins/events-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-events-backend",
- "version": "0.2.12-next.2",
+ "version": "0.2.12-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/events-node/CHANGELOG.md b/plugins/events-node/CHANGELOG.md
index fe129306fe..d9d8a6a719 100644
--- a/plugins/events-node/CHANGELOG.md
+++ b/plugins/events-node/CHANGELOG.md
@@ -1,5 +1,12 @@
# @backstage/plugin-events-node
+## 0.2.12-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.3
+
## 0.2.12-next.2
### Patch Changes
diff --git a/plugins/events-node/package.json b/plugins/events-node/package.json
index 9b9052c58b..d2f3f4c1c7 100644
--- a/plugins/events-node/package.json
+++ b/plugins/events-node/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-events-node",
"description": "The plugin-events-node module for @backstage/plugin-events-backend",
- "version": "0.2.12-next.2",
+ "version": "0.2.12-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/example-todo-list-backend/CHANGELOG.md b/plugins/example-todo-list-backend/CHANGELOG.md
index a8831fbed7..30ebaa8f1c 100644
--- a/plugins/example-todo-list-backend/CHANGELOG.md
+++ b/plugins/example-todo-list-backend/CHANGELOG.md
@@ -1,5 +1,16 @@
# @internal/plugin-todo-list-backend
+## 1.0.17-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 1.0.17-next.2
### Patch Changes
diff --git a/plugins/example-todo-list-backend/package.json b/plugins/example-todo-list-backend/package.json
index 805bf7159f..24b3647a26 100644
--- a/plugins/example-todo-list-backend/package.json
+++ b/plugins/example-todo-list-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@internal/plugin-todo-list-backend",
- "version": "1.0.17-next.2",
+ "version": "1.0.17-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/example-todo-list-common/CHANGELOG.md b/plugins/example-todo-list-common/CHANGELOG.md
index d8c40666f5..1a141b8dbf 100644
--- a/plugins/example-todo-list-common/CHANGELOG.md
+++ b/plugins/example-todo-list-common/CHANGELOG.md
@@ -1,5 +1,12 @@
# @internal/plugin-todo-list-common
+## 1.0.13-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.7.8-next.2
+
## 1.0.13-next.1
### Patch Changes
diff --git a/plugins/example-todo-list-common/package.json b/plugins/example-todo-list-common/package.json
index d3fae58693..31e4f8b37e 100644
--- a/plugins/example-todo-list-common/package.json
+++ b/plugins/example-todo-list-common/package.json
@@ -1,6 +1,6 @@
{
"name": "@internal/plugin-todo-list-common",
- "version": "1.0.13-next.1",
+ "version": "1.0.13-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/example-todo-list/CHANGELOG.md b/plugins/example-todo-list/CHANGELOG.md
index 7558e16555..d265584ef0 100644
--- a/plugins/example-todo-list/CHANGELOG.md
+++ b/plugins/example-todo-list/CHANGELOG.md
@@ -1,5 +1,14 @@
# @internal/plugin-todo-list
+## 1.0.17-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 1.0.17-next.2
### Patch Changes
diff --git a/plugins/example-todo-list/package.json b/plugins/example-todo-list/package.json
index 4c83f1f7c1..cc0e510918 100644
--- a/plugins/example-todo-list/package.json
+++ b/plugins/example-todo-list/package.json
@@ -1,6 +1,6 @@
{
"name": "@internal/plugin-todo-list",
- "version": "1.0.17-next.2",
+ "version": "1.0.17-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/explore-backend/CHANGELOG.md b/plugins/explore-backend/CHANGELOG.md
index a8bbc49121..6b1cf1b626 100644
--- a/plugins/explore-backend/CHANGELOG.md
+++ b/plugins/explore-backend/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-explore-backend
+## 0.0.13-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-module-explore@0.1.7-next.3
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-explore-common@0.0.2-next.0
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.0.13-next.2
### Patch Changes
diff --git a/plugins/explore-backend/package.json b/plugins/explore-backend/package.json
index b995b8fbd7..4c37fbd71f 100644
--- a/plugins/explore-backend/package.json
+++ b/plugins/explore-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-explore-backend",
- "version": "0.0.13-next.2",
+ "version": "0.0.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/explore-common/CHANGELOG.md b/plugins/explore-common/CHANGELOG.md
index 693d0b1b9d..ce3e7ca020 100644
--- a/plugins/explore-common/CHANGELOG.md
+++ b/plugins/explore-common/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/plugin-explore-common
+## 0.0.2-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
## 0.0.1
### Patch Changes
diff --git a/plugins/explore-common/package.json b/plugins/explore-common/package.json
index 7c6fb494ca..d2b23ec0ad 100644
--- a/plugins/explore-common/package.json
+++ b/plugins/explore-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-explore-common",
"description": "Common functionalities for the explore plugin",
- "version": "0.0.1",
+ "version": "0.0.2-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/explore-react/CHANGELOG.md b/plugins/explore-react/CHANGELOG.md
index 7eb190ce8e..b2bcc61d0f 100644
--- a/plugins/explore-react/CHANGELOG.md
+++ b/plugins/explore-react/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-explore-react
+## 0.0.31-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-explore-common@0.0.2-next.0
+
## 0.0.31-next.2
### Patch Changes
diff --git a/plugins/explore-react/package.json b/plugins/explore-react/package.json
index 766669f12e..acdcd0bb2f 100644
--- a/plugins/explore-react/package.json
+++ b/plugins/explore-react/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-explore-react",
"description": "A frontend library for Backstage plugins that want to interact with the explore plugin",
- "version": "0.0.31-next.2",
+ "version": "0.0.31-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/explore/CHANGELOG.md b/plugins/explore/CHANGELOG.md
index 9860d28f1a..8b319fb338 100644
--- a/plugins/explore/CHANGELOG.md
+++ b/plugins/explore/CHANGELOG.md
@@ -1,5 +1,22 @@
# @backstage/plugin-explore
+## 0.4.10-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-explore-common@0.0.2-next.0
+ - @backstage/plugin-explore-react@0.0.31-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.4.10-next.2
### Patch Changes
diff --git a/plugins/explore/package.json b/plugins/explore/package.json
index 74fc8a0964..e2ba7b5d58 100644
--- a/plugins/explore/package.json
+++ b/plugins/explore/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-explore",
"description": "A Backstage plugin for building an exploration page of your software ecosystem",
- "version": "0.4.10-next.2",
+ "version": "0.4.10-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/firehydrant/CHANGELOG.md b/plugins/firehydrant/CHANGELOG.md
index 7ceb848cf8..c57d3e257f 100644
--- a/plugins/firehydrant/CHANGELOG.md
+++ b/plugins/firehydrant/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-firehydrant
+## 0.2.8-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.8-next.2
### Patch Changes
diff --git a/plugins/firehydrant/package.json b/plugins/firehydrant/package.json
index 9c4fe73b94..1e702ed189 100644
--- a/plugins/firehydrant/package.json
+++ b/plugins/firehydrant/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-firehydrant",
"description": "A Backstage plugin that integrates towards FireHydrant",
- "version": "0.2.8-next.2",
+ "version": "0.2.8-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/fossa/CHANGELOG.md b/plugins/fossa/CHANGELOG.md
index 98b1865011..3c9833a372 100644
--- a/plugins/fossa/CHANGELOG.md
+++ b/plugins/fossa/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-fossa
+## 0.2.56-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.56-next.2
### Patch Changes
diff --git a/plugins/fossa/package.json b/plugins/fossa/package.json
index 0d26608026..90886af535 100644
--- a/plugins/fossa/package.json
+++ b/plugins/fossa/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-fossa",
"description": "A Backstage plugin that integrates towards FOSSA",
- "version": "0.2.56-next.2",
+ "version": "0.2.56-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/gcalendar/CHANGELOG.md b/plugins/gcalendar/CHANGELOG.md
index bb38997167..e0d08218cc 100644
--- a/plugins/gcalendar/CHANGELOG.md
+++ b/plugins/gcalendar/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-gcalendar
+## 0.3.18-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
## 0.3.18-next.2
### Patch Changes
diff --git a/plugins/gcalendar/package.json b/plugins/gcalendar/package.json
index 83eb43e0b2..48f192f97a 100644
--- a/plugins/gcalendar/package.json
+++ b/plugins/gcalendar/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-gcalendar",
- "version": "0.3.18-next.2",
+ "version": "0.3.18-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/gcp-projects/CHANGELOG.md b/plugins/gcp-projects/CHANGELOG.md
index 0501237d89..ddcc3fb1e9 100644
--- a/plugins/gcp-projects/CHANGELOG.md
+++ b/plugins/gcp-projects/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-gcp-projects
+## 0.3.41-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.3.41-next.2
### Patch Changes
diff --git a/plugins/gcp-projects/package.json b/plugins/gcp-projects/package.json
index 77462dc45e..037629d6a3 100644
--- a/plugins/gcp-projects/package.json
+++ b/plugins/gcp-projects/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-gcp-projects",
"description": "A Backstage plugin that helps you manage projects in GCP",
- "version": "0.3.41-next.2",
+ "version": "0.3.41-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/git-release-manager/CHANGELOG.md b/plugins/git-release-manager/CHANGELOG.md
index ec4528218d..9b66828756 100644
--- a/plugins/git-release-manager/CHANGELOG.md
+++ b/plugins/git-release-manager/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-git-release-manager
+## 0.3.37-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.3.37-next.2
### Patch Changes
diff --git a/plugins/git-release-manager/package.json b/plugins/git-release-manager/package.json
index 04d1ea06a7..04fc26ae9a 100644
--- a/plugins/git-release-manager/package.json
+++ b/plugins/git-release-manager/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-git-release-manager",
"description": "A Backstage plugin that helps you manage releases in git",
- "version": "0.3.37-next.2",
+ "version": "0.3.37-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/github-actions/CHANGELOG.md b/plugins/github-actions/CHANGELOG.md
index 5a329354f1..6b50884135 100644
--- a/plugins/github-actions/CHANGELOG.md
+++ b/plugins/github-actions/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-github-actions
+## 0.6.5-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.6.5-next.2
### Patch Changes
diff --git a/plugins/github-actions/package.json b/plugins/github-actions/package.json
index d78cd363d0..e2dafae029 100644
--- a/plugins/github-actions/package.json
+++ b/plugins/github-actions/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-github-actions",
"description": "A Backstage plugin that integrates towards GitHub Actions",
- "version": "0.6.5-next.2",
+ "version": "0.6.5-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/github-deployments/CHANGELOG.md b/plugins/github-deployments/CHANGELOG.md
index e11f57d78e..28cfc5a7b0 100644
--- a/plugins/github-deployments/CHANGELOG.md
+++ b/plugins/github-deployments/CHANGELOG.md
@@ -1,5 +1,20 @@
# @backstage/plugin-github-deployments
+## 0.1.55-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.55-next.2
### Patch Changes
diff --git a/plugins/github-deployments/package.json b/plugins/github-deployments/package.json
index 12f3d52328..6ee68a87c7 100644
--- a/plugins/github-deployments/package.json
+++ b/plugins/github-deployments/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-github-deployments",
"description": "A Backstage plugin that integrates towards GitHub Deployments",
- "version": "0.1.55-next.2",
+ "version": "0.1.55-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/github-issues/CHANGELOG.md b/plugins/github-issues/CHANGELOG.md
index 915b93c63a..72a7c86175 100644
--- a/plugins/github-issues/CHANGELOG.md
+++ b/plugins/github-issues/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-github-issues
+## 0.2.13-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.13-next.2
### Patch Changes
diff --git a/plugins/github-issues/package.json b/plugins/github-issues/package.json
index ea499e4c43..ffd2b361dc 100644
--- a/plugins/github-issues/package.json
+++ b/plugins/github-issues/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-github-issues",
- "version": "0.2.13-next.2",
+ "version": "0.2.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/github-pull-requests-board/CHANGELOG.md b/plugins/github-pull-requests-board/CHANGELOG.md
index 582e6d9d3e..8a50ab7e9c 100644
--- a/plugins/github-pull-requests-board/CHANGELOG.md
+++ b/plugins/github-pull-requests-board/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-github-pull-requests-board
+## 0.1.18-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.18-next.2
### Patch Changes
diff --git a/plugins/github-pull-requests-board/package.json b/plugins/github-pull-requests-board/package.json
index 2accb513b3..a7a398abf5 100644
--- a/plugins/github-pull-requests-board/package.json
+++ b/plugins/github-pull-requests-board/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-github-pull-requests-board",
"description": "A Backstage plugin that allows you to see all open Pull Requests for all the repositories owned by your team",
- "version": "0.1.18-next.2",
+ "version": "0.1.18-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/github-pull-requests-board/src/components/Card/Card.tsx b/plugins/github-pull-requests-board/src/components/Card/Card.tsx
index 320e166358..4fe833fa67 100644
--- a/plugins/github-pull-requests-board/src/components/Card/Card.tsx
+++ b/plugins/github-pull-requests-board/src/components/Card/Card.tsx
@@ -31,7 +31,9 @@ type Props = {
labels?: Label[];
};
-const Card: FunctionComponent = (props: PropsWithChildren) => {
+const Card: FunctionComponent> = (
+ props: React.PropsWithChildren,
+) => {
const {
title,
createdAt,
diff --git a/plugins/github-pull-requests-board/src/components/InfoCardHeader/InfoCardHeader.tsx b/plugins/github-pull-requests-board/src/components/InfoCardHeader/InfoCardHeader.tsx
index 8c126bcaa4..004cf7c5ae 100644
--- a/plugins/github-pull-requests-board/src/components/InfoCardHeader/InfoCardHeader.tsx
+++ b/plugins/github-pull-requests-board/src/components/InfoCardHeader/InfoCardHeader.tsx
@@ -21,7 +21,7 @@ type Props = {
onRefresh: () => void;
};
-const InfoCardHeader: FunctionComponent = (
+const InfoCardHeader: FunctionComponent> = (
props: PropsWithChildren,
) => {
const { children, onRefresh } = props;
diff --git a/plugins/github-pull-requests-board/src/components/Wrapper/Wrapper.tsx b/plugins/github-pull-requests-board/src/components/Wrapper/Wrapper.tsx
index 6d8f17cb72..bf5fa157fc 100644
--- a/plugins/github-pull-requests-board/src/components/Wrapper/Wrapper.tsx
+++ b/plugins/github-pull-requests-board/src/components/Wrapper/Wrapper.tsx
@@ -20,7 +20,9 @@ type Props = {
fullscreen: boolean;
};
-const Wrapper: FunctionComponent = (props: PropsWithChildren) => {
+const Wrapper: FunctionComponent> = (
+ props: PropsWithChildren,
+) => {
const { children, fullscreen } = props;
return (
diff --git a/plugins/gitops-profiles/CHANGELOG.md b/plugins/gitops-profiles/CHANGELOG.md
index e06d22ec9d..357cf5e6d7 100644
--- a/plugins/gitops-profiles/CHANGELOG.md
+++ b/plugins/gitops-profiles/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-gitops-profiles
+## 0.3.40-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.3.40-next.2
### Patch Changes
diff --git a/plugins/gitops-profiles/package.json b/plugins/gitops-profiles/package.json
index 9d650c007d..032e6d1fcf 100644
--- a/plugins/gitops-profiles/package.json
+++ b/plugins/gitops-profiles/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-gitops-profiles",
"description": "A Backstage plugin that helps you manage GitOps profiles",
- "version": "0.3.40-next.2",
+ "version": "0.3.40-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/gocd/CHANGELOG.md b/plugins/gocd/CHANGELOG.md
index 761f97e433..4d605314fc 100644
--- a/plugins/gocd/CHANGELOG.md
+++ b/plugins/gocd/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-gocd
+## 0.1.30-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.30-next.2
### Patch Changes
diff --git a/plugins/gocd/package.json b/plugins/gocd/package.json
index e76cdf4d83..1bb5c1dc81 100644
--- a/plugins/gocd/package.json
+++ b/plugins/gocd/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-gocd",
"description": "A Backstage plugin that integrates towards GoCD",
- "version": "0.1.30-next.2",
+ "version": "0.1.30-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/graphiql/CHANGELOG.md b/plugins/graphiql/CHANGELOG.md
index 8602d67de0..078a291d24 100644
--- a/plugins/graphiql/CHANGELOG.md
+++ b/plugins/graphiql/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-graphiql
+## 0.2.54-next.3
+
+### Patch Changes
+
+- cf950c3b6eab: Added experimental exports for the new frontend system under `/alpha`.
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.1.0-next.0
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.54-next.2
### Patch Changes
diff --git a/plugins/graphiql/alpha-api-report.md b/plugins/graphiql/alpha-api-report.md
index 31bad223b1..665bf1464e 100644
--- a/plugins/graphiql/alpha-api-report.md
+++ b/plugins/graphiql/alpha-api-report.md
@@ -12,6 +12,7 @@ import { PortableSchema } from '@backstage/frontend-plugin-api';
export function createEndpointExtension(options: {
id: string;
configSchema?: PortableSchema;
+ disabled?: boolean;
factory: (options: { config: TConfig }) => {
endpoint: GraphQLEndpoint;
};
diff --git a/plugins/graphiql/package.json b/plugins/graphiql/package.json
index da12ebe67d..29b8163c7b 100644
--- a/plugins/graphiql/package.json
+++ b/plugins/graphiql/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-graphiql",
"description": "Backstage plugin for browsing GraphQL APIs",
- "version": "0.2.54-next.2",
+ "version": "0.2.54-next.3",
"publishConfig": {
"access": "public"
},
diff --git a/plugins/graphiql/src/alpha.tsx b/plugins/graphiql/src/alpha.tsx
index ded517e3c7..f0333c8c6c 100644
--- a/plugins/graphiql/src/alpha.tsx
+++ b/plugins/graphiql/src/alpha.tsx
@@ -65,13 +65,14 @@ export const graphiqlBrowseApi = createApiExtension({
export function createEndpointExtension(options: {
id: string;
configSchema?: PortableSchema;
+ disabled?: boolean;
factory: (options: { config: TConfig }) => { endpoint: GraphQLEndpoint };
}) {
return createExtension({
id: `apis.plugin.graphiql.browse.${options.id}`,
at: 'apis.plugin.graphiql.browse/endpoints',
configSchema: options.configSchema,
- disabled: true,
+ disabled: options.disabled ?? false,
output: {
endpoint: endpointDataRef,
},
@@ -86,6 +87,7 @@ export function createEndpointExtension(options: {
/** @alpha */
const gitlabGraphiQLBrowseExtension = createEndpointExtension({
id: 'gitlab',
+ disabled: true,
configSchema: createSchemaFromZod(z =>
z
.object({
diff --git a/plugins/graphql-backend/CHANGELOG.md b/plugins/graphql-backend/CHANGELOG.md
index fb3c13bde8..1a62048007 100644
--- a/plugins/graphql-backend/CHANGELOG.md
+++ b/plugins/graphql-backend/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-graphql-backend
+## 0.1.41-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-catalog-graphql@0.3.23-next.2
+
## 0.1.41-next.2
### Patch Changes
diff --git a/plugins/graphql-backend/package.json b/plugins/graphql-backend/package.json
index b8cbad01df..7582c150cb 100644
--- a/plugins/graphql-backend/package.json
+++ b/plugins/graphql-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-graphql-backend",
"description": "An experimental Backstage backend plugin for GraphQL",
- "version": "0.1.41-next.2",
+ "version": "0.1.41-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/graphql-voyager/CHANGELOG.md b/plugins/graphql-voyager/CHANGELOG.md
index 7f91322c48..f08159c76d 100644
--- a/plugins/graphql-voyager/CHANGELOG.md
+++ b/plugins/graphql-voyager/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-graphql-voyager
+## 0.1.7-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.7-next.2
### Patch Changes
diff --git a/plugins/graphql-voyager/package.json b/plugins/graphql-voyager/package.json
index 6e91382759..df62a7e9a2 100644
--- a/plugins/graphql-voyager/package.json
+++ b/plugins/graphql-voyager/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-graphql-voyager",
"description": "Backstage plugin for GraphQL Voyager",
- "version": "0.1.7-next.2",
+ "version": "0.1.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/home-react/CHANGELOG.md b/plugins/home-react/CHANGELOG.md
index 0da5ffcdf8..ebd48bd7ef 100644
--- a/plugins/home-react/CHANGELOG.md
+++ b/plugins/home-react/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-home-react
+## 0.1.3-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- b16c341ced45: Updated dependency `@rjsf/utils` to `5.13.0`.
+ Updated dependency `@rjsf/core-v5` to `npm:@rjsf/core@5.13.0`.
+ Updated dependency `@rjsf/material-ui-v5` to `npm:@rjsf/material-ui@5.13.0`.
+ Updated dependency `@rjsf/validator-ajv8` to `5.13.0`.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+
## 0.1.3-next.2
### Patch Changes
diff --git a/plugins/home-react/package.json b/plugins/home-react/package.json
index 45144ab4c4..792e4f8ebe 100644
--- a/plugins/home-react/package.json
+++ b/plugins/home-react/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-home-react",
"description": "A Backstage plugin that contains react components helps you build a home page",
- "version": "0.1.3-next.2",
+ "version": "0.1.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -38,7 +38,7 @@
"@backstage/core-plugin-api": "workspace:^",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
- "@rjsf/utils": "5.7.3",
+ "@rjsf/utils": "5.13.0",
"@types/react": "^16.13.1 || ^17.0.0"
},
"peerDependencies": {
diff --git a/plugins/home/CHANGELOG.md b/plugins/home/CHANGELOG.md
index 7cf03984c0..41c1271790 100644
--- a/plugins/home/CHANGELOG.md
+++ b/plugins/home/CHANGELOG.md
@@ -1,5 +1,24 @@
# @backstage/plugin-home
+## 0.5.8-next.3
+
+### Patch Changes
+
+- 2bc96ce69eea: Fixed a bug where customizable home page cards would render missing their normal borders.
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- b16c341ced45: Updated dependency `@rjsf/utils` to `5.13.0`.
+ Updated dependency `@rjsf/core-v5` to `npm:@rjsf/core@5.13.0`.
+ Updated dependency `@rjsf/material-ui-v5` to `npm:@rjsf/material-ui@5.13.0`.
+ Updated dependency `@rjsf/validator-ajv8` to `5.13.0`.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-home-react@0.1.3-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.5.8-next.2
### Patch Changes
diff --git a/plugins/home/package.json b/plugins/home/package.json
index 631ca2480f..e403bf7328 100644
--- a/plugins/home/package.json
+++ b/plugins/home/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-home",
"description": "A Backstage plugin that helps you build a home page",
- "version": "0.5.8-next.2",
+ "version": "0.5.8-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -44,10 +44,10 @@
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
"@material-ui/lab": "4.0.0-alpha.61",
- "@rjsf/core-v5": "npm:@rjsf/core@5.7.3",
- "@rjsf/material-ui-v5": "npm:@rjsf/material-ui@5.7.3",
- "@rjsf/utils": "5.7.3",
- "@rjsf/validator-ajv8": "5.7.3",
+ "@rjsf/core-v5": "npm:@rjsf/core@5.13.0",
+ "@rjsf/material-ui-v5": "npm:@rjsf/material-ui@5.13.0",
+ "@rjsf/utils": "5.13.0",
+ "@rjsf/validator-ajv8": "5.13.0",
"@types/react": "^16.13.1 || ^17.0.0",
"lodash": "^4.17.21",
"react-grid-layout": "^1.3.4",
diff --git a/plugins/ilert/CHANGELOG.md b/plugins/ilert/CHANGELOG.md
index e273244b70..7d11440f8a 100644
--- a/plugins/ilert/CHANGELOG.md
+++ b/plugins/ilert/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-ilert
+## 0.2.13-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.13-next.2
### Patch Changes
diff --git a/plugins/ilert/package.json b/plugins/ilert/package.json
index 4562774da1..255b2ca27d 100644
--- a/plugins/ilert/package.json
+++ b/plugins/ilert/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-ilert",
"description": "A Backstage plugin that integrates towards iLert",
- "version": "0.2.13-next.2",
+ "version": "0.2.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/jenkins-backend/CHANGELOG.md b/plugins/jenkins-backend/CHANGELOG.md
index 3d1b1f3556..676101785f 100644
--- a/plugins/jenkins-backend/CHANGELOG.md
+++ b/plugins/jenkins-backend/CHANGELOG.md
@@ -1,5 +1,20 @@
# @backstage/plugin-jenkins-backend
+## 0.2.6-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-jenkins-common@0.1.19-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.2.6-next.2
### Patch Changes
diff --git a/plugins/jenkins-backend/package.json b/plugins/jenkins-backend/package.json
index 9ea6a51cb8..1844f0a38d 100644
--- a/plugins/jenkins-backend/package.json
+++ b/plugins/jenkins-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-jenkins-backend",
"description": "A Backstage backend plugin that integrates towards Jenkins",
- "version": "0.2.6-next.2",
+ "version": "0.2.6-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/jenkins-common/CHANGELOG.md b/plugins/jenkins-common/CHANGELOG.md
index 95db160a9f..39a9bb51a3 100644
--- a/plugins/jenkins-common/CHANGELOG.md
+++ b/plugins/jenkins-common/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-jenkins-common
+## 0.1.19-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+
## 0.1.19-next.1
### Patch Changes
diff --git a/plugins/jenkins-common/package.json b/plugins/jenkins-common/package.json
index 231e1cd73e..fbbbcdaa15 100644
--- a/plugins/jenkins-common/package.json
+++ b/plugins/jenkins-common/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-jenkins-common",
- "version": "0.1.19-next.1",
+ "version": "0.1.19-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/jenkins/CHANGELOG.md b/plugins/jenkins/CHANGELOG.md
index c8e5a45dce..8d1e20b61b 100644
--- a/plugins/jenkins/CHANGELOG.md
+++ b/plugins/jenkins/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-jenkins
+## 0.8.6-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-jenkins-common@0.1.19-next.2
+ - @backstage/theme@0.4.2-next.0
+
## 0.8.6-next.2
### Patch Changes
diff --git a/plugins/jenkins/package.json b/plugins/jenkins/package.json
index fd2ab214d3..4cebda493e 100644
--- a/plugins/jenkins/package.json
+++ b/plugins/jenkins/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-jenkins",
"description": "A Backstage plugin that integrates towards Jenkins",
- "version": "0.8.6-next.2",
+ "version": "0.8.6-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/kafka-backend/CHANGELOG.md b/plugins/kafka-backend/CHANGELOG.md
index 89f8672d0e..84c206fd0c 100644
--- a/plugins/kafka-backend/CHANGELOG.md
+++ b/plugins/kafka-backend/CHANGELOG.md
@@ -1,5 +1,34 @@
# @backstage/plugin-kafka-backend
+## 0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- 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/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.2.44-next.2
### Patch Changes
diff --git a/plugins/kafka-backend/package.json b/plugins/kafka-backend/package.json
index f2f023332e..801e4bdc95 100644
--- a/plugins/kafka-backend/package.json
+++ b/plugins/kafka-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-kafka-backend",
"description": "A Backstage backend plugin that integrates towards Kafka",
- "version": "0.2.44-next.2",
+ "version": "0.3.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/kafka/CHANGELOG.md b/plugins/kafka/CHANGELOG.md
index d11e53714b..0d7035392b 100644
--- a/plugins/kafka/CHANGELOG.md
+++ b/plugins/kafka/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-kafka
+## 0.3.24-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.3.24-next.2
### Patch Changes
diff --git a/plugins/kafka/package.json b/plugins/kafka/package.json
index b029e42bb6..3da6d27e17 100644
--- a/plugins/kafka/package.json
+++ b/plugins/kafka/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-kafka",
"description": "A Backstage plugin that integrates towards Kafka",
- "version": "0.3.24-next.2",
+ "version": "0.3.24-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/kubernetes-backend/CHANGELOG.md b/plugins/kubernetes-backend/CHANGELOG.md
index 77fe7dec76..043ffd5bb3 100644
--- a/plugins/kubernetes-backend/CHANGELOG.md
+++ b/plugins/kubernetes-backend/CHANGELOG.md
@@ -1,5 +1,41 @@
# @backstage/plugin-kubernetes-backend
+## 0.11.6-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- a8a614ba0d07: Minor `package.json` update.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-kubernetes-common@0.6.6-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/integration-aws-node@0.1.6-next.2
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.11.6-next.2
### Patch Changes
diff --git a/plugins/kubernetes-backend/package.json b/plugins/kubernetes-backend/package.json
index c75b7cbd69..f755dc2c6b 100644
--- a/plugins/kubernetes-backend/package.json
+++ b/plugins/kubernetes-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-kubernetes-backend",
"description": "A Backstage backend plugin that integrates towards Kubernetes",
- "version": "0.11.6-next.2",
+ "version": "0.11.6-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts b/plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts
index 15bc8ff68e..aaadbfae0e 100644
--- a/plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts
+++ b/plugins/kubernetes-backend/src/service/KubernetesProxy.test.ts
@@ -44,6 +44,7 @@ import {
KubernetesProxy,
} from './KubernetesProxy';
import fetch from 'cross-fetch';
+import mockFs from 'mock-fs';
import type { Request } from 'express';
@@ -664,6 +665,82 @@ describe('KubernetesProxy', () => {
expect(response.status).toEqual(200);
});
+ describe('when server uses TLS', () => {
+ let httpsRequest: jest.SpyInstance;
+ beforeAll(() => {
+ httpsRequest = jest.spyOn(
+ // this is pretty egregious reverse engineering of msw.
+ // If the SetupServerApi constructor was exported, we wouldn't need
+ // to be quite so hacky here
+ (worker as any).interceptor.interceptors[0].modules.get('https'),
+ 'request',
+ );
+ });
+ beforeEach(() => {
+ httpsRequest.mockClear();
+ });
+ describe('should pass the exact response from Kubernetes using the CA file', () => {
+ afterEach(() => {
+ mockFs.restore();
+ });
+
+ it('should trust contents of specified caFile', async () => {
+ mockFs({
+ '/path/to/ca.crt': 'MOCKCA',
+ });
+
+ const apiResponse = {
+ kind: 'APIVersions',
+ versions: ['v1'],
+ serverAddressByClientCIDRs: [
+ {
+ clientCIDR: '0.0.0.0/0',
+ serverAddress: '192.168.0.1:3333',
+ },
+ ],
+ };
+
+ clusterSupplier.getClusters.mockResolvedValue([
+ {
+ name: 'cluster1',
+ url: 'https://localhost:9999',
+ serviceAccountToken: '',
+ authProvider: 'serviceAccount',
+ caFile: '/path/to/ca.crt',
+ },
+ ] as ClusterDetails[]);
+
+ authTranslator.decorateClusterDetailsWithAuth.mockResolvedValue({
+ name: 'cluster1',
+ url: 'https://localhost:9999',
+ serviceAccountToken: '',
+ authProvider: 'serviceAccount',
+ } as ClusterDetails);
+
+ worker.use(
+ rest.get('https://localhost:9999/api', (_: any, res: any, ctx: any) =>
+ res(ctx.status(299), ctx.json(apiResponse)),
+ ),
+ );
+
+ const requestPromise = setupProxyPromise({
+ proxyPath: '/mountpath',
+ requestPath: '/api',
+ headers: { [HEADER_KUBERNETES_CLUSTER]: 'cluster1' },
+ });
+
+ const response = await requestPromise;
+
+ expect(response.status).toEqual(299);
+ expect(response.body).toStrictEqual(apiResponse);
+
+ expect(httpsRequest).toHaveBeenCalledTimes(1);
+ const [[{ ca }]] = httpsRequest.mock.calls;
+ expect(ca).toEqual('MOCKCA');
+ });
+ });
+ });
+
describe('WebSocket', () => {
const proxyPath = '/proxy';
const wsPath = '/ws';
diff --git a/plugins/kubernetes-backend/src/service/KubernetesProxy.ts b/plugins/kubernetes-backend/src/service/KubernetesProxy.ts
index 742d078071..8ae1fb9fcc 100644
--- a/plugins/kubernetes-backend/src/service/KubernetesProxy.ts
+++ b/plugins/kubernetes-backend/src/service/KubernetesProxy.ts
@@ -158,7 +158,10 @@ export class KubernetesProxy {
protocol: url.protocol,
host: url.hostname,
port: url.port,
- ca: bufferFromFileOrString('', cluster.caData)?.toString(),
+ ca: bufferFromFileOrString(
+ cluster.caFile,
+ cluster.caData,
+ )?.toString(),
};
},
onError: (error, req, res) => {
diff --git a/plugins/kubernetes-common/CHANGELOG.md b/plugins/kubernetes-common/CHANGELOG.md
index 610e94cca3..7604edfb12 100644
--- a/plugins/kubernetes-common/CHANGELOG.md
+++ b/plugins/kubernetes-common/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-kubernetes-common
+## 0.6.6-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+
## 0.6.6-next.1
### Patch Changes
diff --git a/plugins/kubernetes-common/package.json b/plugins/kubernetes-common/package.json
index 8b934533b1..dce023dc2d 100644
--- a/plugins/kubernetes-common/package.json
+++ b/plugins/kubernetes-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-kubernetes-common",
"description": "Common functionalities for kubernetes, to be shared between kubernetes and kubernetes-backend plugin",
- "version": "0.6.6-next.1",
+ "version": "0.6.6-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/kubernetes/CHANGELOG.md b/plugins/kubernetes/CHANGELOG.md
index bc64f49fc2..94b59bb6b3 100644
--- a/plugins/kubernetes/CHANGELOG.md
+++ b/plugins/kubernetes/CHANGELOG.md
@@ -1,5 +1,21 @@
# @backstage/plugin-kubernetes
+## 0.10.3-next.3
+
+### Patch Changes
+
+- 7032c214f3b4: Add pod exec terminal to Container Card
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-kubernetes-common@0.6.6-next.2
+ - @backstage/theme@0.4.2-next.0
+
## 0.10.3-next.2
### Patch Changes
diff --git a/plugins/kubernetes/package.json b/plugins/kubernetes/package.json
index 46a52c37bd..7a0c2bf929 100644
--- a/plugins/kubernetes/package.json
+++ b/plugins/kubernetes/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-kubernetes",
"description": "A Backstage plugin that integrates towards Kubernetes",
- "version": "0.10.3-next.2",
+ "version": "0.10.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -74,7 +74,6 @@
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.0",
"@testing-library/user-event": "^14.0.0",
- "@types/node": "^16.11.26",
"jest-websocket-mock": "^2.4.1",
"msw": "^1.0.0"
},
diff --git a/plugins/lighthouse-backend/CHANGELOG.md b/plugins/lighthouse-backend/CHANGELOG.md
index b4fd2653ff..96a47eaa53 100644
--- a/plugins/lighthouse-backend/CHANGELOG.md
+++ b/plugins/lighthouse-backend/CHANGELOG.md
@@ -1,5 +1,38 @@
# @backstage/plugin-lighthouse-backend
+## 0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-lighthouse-common@0.1.3-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.2.7-next.2
### Patch Changes
diff --git a/plugins/lighthouse-backend/package.json b/plugins/lighthouse-backend/package.json
index 65f2ace22a..dbea5afd41 100644
--- a/plugins/lighthouse-backend/package.json
+++ b/plugins/lighthouse-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-lighthouse-backend",
"description": "Backend functionalities for lighthouse",
- "version": "0.2.7-next.2",
+ "version": "0.3.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/lighthouse-common/CHANGELOG.md b/plugins/lighthouse-common/CHANGELOG.md
index ee90593ebc..8c800bec23 100644
--- a/plugins/lighthouse-common/CHANGELOG.md
+++ b/plugins/lighthouse-common/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-lighthouse-common
+## 0.1.3-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+
## 0.1.3-next.1
### Patch Changes
diff --git a/plugins/lighthouse-common/package.json b/plugins/lighthouse-common/package.json
index dbe9614656..e58e2bea17 100644
--- a/plugins/lighthouse-common/package.json
+++ b/plugins/lighthouse-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-lighthouse-common",
"description": "Common functionalities for lighthouse, to be shared between lighthouse and lighthouse-backend plugin",
- "version": "0.1.3-next.1",
+ "version": "0.1.3-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/lighthouse/CHANGELOG.md b/plugins/lighthouse/CHANGELOG.md
index 9796bee15d..fabd108fa5 100644
--- a/plugins/lighthouse/CHANGELOG.md
+++ b/plugins/lighthouse/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-lighthouse
+## 0.4.9-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-lighthouse-common@0.1.3-next.2
+ - @backstage/theme@0.4.2-next.0
+
## 0.4.9-next.2
### Patch Changes
diff --git a/plugins/lighthouse/package.json b/plugins/lighthouse/package.json
index d59f056ed0..2f8b79291c 100644
--- a/plugins/lighthouse/package.json
+++ b/plugins/lighthouse/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-lighthouse",
"description": "A Backstage plugin that integrates towards Lighthouse",
- "version": "0.4.9-next.2",
+ "version": "0.4.9-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/linguist-backend/CHANGELOG.md b/plugins/linguist-backend/CHANGELOG.md
index 120397a5d9..aabef8ecaf 100644
--- a/plugins/linguist-backend/CHANGELOG.md
+++ b/plugins/linguist-backend/CHANGELOG.md
@@ -1,5 +1,40 @@
# @backstage/plugin-linguist-backend
+## 0.5.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-linguist-common@0.1.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.4.3-next.2
### Patch Changes
diff --git a/plugins/linguist-backend/package.json b/plugins/linguist-backend/package.json
index 0cbbfae851..9c2f4dcb5c 100644
--- a/plugins/linguist-backend/package.json
+++ b/plugins/linguist-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-linguist-backend",
- "version": "0.4.3-next.2",
+ "version": "0.5.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/linguist-common/CHANGELOG.md b/plugins/linguist-common/CHANGELOG.md
index a4775c1b98..5e4e40142f 100644
--- a/plugins/linguist-common/CHANGELOG.md
+++ b/plugins/linguist-common/CHANGELOG.md
@@ -1,5 +1,11 @@
# @backstage/plugin-linguist-common
+## 0.1.2-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+
## 0.1.1
### Patch Changes
diff --git a/plugins/linguist-common/package.json b/plugins/linguist-common/package.json
index ef19649670..a595fc2cd5 100644
--- a/plugins/linguist-common/package.json
+++ b/plugins/linguist-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-linguist-common",
"description": "Common functionalities for the linguist plugin",
- "version": "0.1.1",
+ "version": "0.1.2-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/linguist/CHANGELOG.md b/plugins/linguist/CHANGELOG.md
index afabc727d2..6223f36093 100644
--- a/plugins/linguist/CHANGELOG.md
+++ b/plugins/linguist/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-linguist
+## 0.1.9-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-linguist-common@0.1.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.9-next.2
### Patch Changes
diff --git a/plugins/linguist/package.json b/plugins/linguist/package.json
index e9a83ec99c..2c399b5b71 100644
--- a/plugins/linguist/package.json
+++ b/plugins/linguist/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-linguist",
- "version": "0.1.9-next.2",
+ "version": "0.1.9-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/microsoft-calendar/CHANGELOG.md b/plugins/microsoft-calendar/CHANGELOG.md
index cfaef9de7e..3adb362d71 100644
--- a/plugins/microsoft-calendar/CHANGELOG.md
+++ b/plugins/microsoft-calendar/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-microsoft-calendar
+## 0.1.7-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.7-next.2
### Patch Changes
diff --git a/plugins/microsoft-calendar/package.json b/plugins/microsoft-calendar/package.json
index 960b570b32..d4573f1e40 100644
--- a/plugins/microsoft-calendar/package.json
+++ b/plugins/microsoft-calendar/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-microsoft-calendar",
- "version": "0.1.7-next.2",
+ "version": "0.1.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/newrelic-dashboard/CHANGELOG.md b/plugins/newrelic-dashboard/CHANGELOG.md
index f0a505ec70..dd9b498111 100644
--- a/plugins/newrelic-dashboard/CHANGELOG.md
+++ b/plugins/newrelic-dashboard/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-newrelic-dashboard
+## 0.2.17-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+
## 0.2.17-next.2
### Patch Changes
diff --git a/plugins/newrelic-dashboard/package.json b/plugins/newrelic-dashboard/package.json
index 0b8da830ce..4bc7941cf3 100644
--- a/plugins/newrelic-dashboard/package.json
+++ b/plugins/newrelic-dashboard/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-newrelic-dashboard",
- "version": "0.2.17-next.2",
+ "version": "0.2.17-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/newrelic/CHANGELOG.md b/plugins/newrelic/CHANGELOG.md
index 009957e7cc..be956aa02c 100644
--- a/plugins/newrelic/CHANGELOG.md
+++ b/plugins/newrelic/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-newrelic
+## 0.3.40-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 55cb7061e072: Fixed bug in NewRelicComponent component where table would not sort correctly for numerical values.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.3.40-next.2
### Patch Changes
diff --git a/plugins/newrelic/package.json b/plugins/newrelic/package.json
index 1f4b3a2e7f..86900596a4 100644
--- a/plugins/newrelic/package.json
+++ b/plugins/newrelic/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-newrelic",
"description": "A Backstage plugin that integrates towards New Relic",
- "version": "0.3.40-next.2",
+ "version": "0.3.40-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/newrelic/src/components/NewRelicFetchComponent/NewRelicFetchComponent.tsx b/plugins/newrelic/src/components/NewRelicFetchComponent/NewRelicFetchComponent.tsx
index e626e6a6d2..0cd1c3b14c 100644
--- a/plugins/newrelic/src/components/NewRelicFetchComponent/NewRelicFetchComponent.tsx
+++ b/plugins/newrelic/src/components/NewRelicFetchComponent/NewRelicFetchComponent.tsx
@@ -25,9 +25,9 @@ import { useApi } from '@backstage/core-plugin-api';
export const NewRelicAPMTable = ({ applications }: NewRelicApplications) => {
const columns: TableColumn[] = [
{ title: 'Application', field: 'name' },
- { title: 'Response Time', field: 'responseTime' },
- { title: 'Throughput', field: 'throughput' },
- { title: 'Error Rate', field: 'errorRate' },
+ { title: 'Response Time (ms)', field: 'responseTime' },
+ { title: 'Throughput (rpm)', field: 'throughput' },
+ { title: 'Error Rate (%)', field: 'errorRate' },
{ title: 'Instance Count', field: 'instanceCount' },
{ title: 'Apdex', field: 'apdexScore' },
];
@@ -43,9 +43,9 @@ export const NewRelicAPMTable = ({ applications }: NewRelicApplications) => {
return {
name,
- responseTime: `${responseTime} ms`,
- throughput: `${throughput} rpm`,
- errorRate: `${errorRate}%`,
+ responseTime,
+ throughput,
+ errorRate,
instanceCount,
apdexScore,
};
diff --git a/plugins/nomad-backend/CHANGELOG.md b/plugins/nomad-backend/CHANGELOG.md
index f114e98227..48aa8fc484 100644
--- a/plugins/nomad-backend/CHANGELOG.md
+++ b/plugins/nomad-backend/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-nomad-backend
+## 0.1.5-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.1.5-next.2
### Patch Changes
diff --git a/plugins/nomad-backend/package.json b/plugins/nomad-backend/package.json
index d55bb9cacf..bd6af719f6 100644
--- a/plugins/nomad-backend/package.json
+++ b/plugins/nomad-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-nomad-backend",
- "version": "0.1.5-next.2",
+ "version": "0.1.5-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/nomad/CHANGELOG.md b/plugins/nomad/CHANGELOG.md
index 52d0134701..7645656f84 100644
--- a/plugins/nomad/CHANGELOG.md
+++ b/plugins/nomad/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-nomad
+## 0.1.5-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.5-next.2
### Patch Changes
diff --git a/plugins/nomad/package.json b/plugins/nomad/package.json
index ddfb7d49da..874b3dfe19 100644
--- a/plugins/nomad/package.json
+++ b/plugins/nomad/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-nomad",
- "version": "0.1.5-next.2",
+ "version": "0.1.5-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/octopus-deploy/CHANGELOG.md b/plugins/octopus-deploy/CHANGELOG.md
index e9b6f1b814..24a5db96d8 100644
--- a/plugins/octopus-deploy/CHANGELOG.md
+++ b/plugins/octopus-deploy/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-octopus-deploy
+## 0.2.6-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.6-next.2
### Patch Changes
diff --git a/plugins/octopus-deploy/package.json b/plugins/octopus-deploy/package.json
index d6b02b221b..20cbd4e5a2 100644
--- a/plugins/octopus-deploy/package.json
+++ b/plugins/octopus-deploy/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-octopus-deploy",
- "version": "0.2.6-next.2",
+ "version": "0.2.6-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/opencost/CHANGELOG.md b/plugins/opencost/CHANGELOG.md
index 48cfe54ddc..95b73bfba1 100644
--- a/plugins/opencost/CHANGELOG.md
+++ b/plugins/opencost/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-opencost
+## 0.2.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.0-next.2
### Patch Changes
diff --git a/plugins/opencost/package.json b/plugins/opencost/package.json
index 6a6db959dc..a446e44e93 100644
--- a/plugins/opencost/package.json
+++ b/plugins/opencost/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-opencost",
- "version": "0.2.0-next.2",
+ "version": "0.2.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/org-react/CHANGELOG.md b/plugins/org-react/CHANGELOG.md
index 578601033d..ec5e0e3129 100644
--- a/plugins/org-react/CHANGELOG.md
+++ b/plugins/org-react/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-org-react
+## 0.1.13-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.13-next.2
### Patch Changes
diff --git a/plugins/org-react/package.json b/plugins/org-react/package.json
index d1644698ce..280e27cff6 100644
--- a/plugins/org-react/package.json
+++ b/plugins/org-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-org-react",
- "version": "0.1.13-next.2",
+ "version": "0.1.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/org/CHANGELOG.md b/plugins/org/CHANGELOG.md
index 4f9654b88c..d999f54da1 100644
--- a/plugins/org/CHANGELOG.md
+++ b/plugins/org/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-org
+## 0.6.14-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.6.14-next.2
### Patch Changes
diff --git a/plugins/org/package.json b/plugins/org/package.json
index 6d340c9147..5e6aace0fc 100644
--- a/plugins/org/package.json
+++ b/plugins/org/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-org",
"description": "A Backstage plugin that helps you create entity pages for your organization",
- "version": "0.6.14-next.2",
+ "version": "0.6.14-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/pagerduty/CHANGELOG.md b/plugins/pagerduty/CHANGELOG.md
index 3919147d0a..2c20696fcd 100644
--- a/plugins/pagerduty/CHANGELOG.md
+++ b/plugins/pagerduty/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-pagerduty
+## 0.6.5-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-home-react@0.1.3-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.6.5-next.2
### Patch Changes
diff --git a/plugins/pagerduty/package.json b/plugins/pagerduty/package.json
index 5420961a39..8750e6e2cc 100644
--- a/plugins/pagerduty/package.json
+++ b/plugins/pagerduty/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-pagerduty",
"description": "A Backstage plugin that integrates towards PagerDuty",
- "version": "0.6.5-next.2",
+ "version": "0.6.5-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/periskop-backend/CHANGELOG.md b/plugins/periskop-backend/CHANGELOG.md
index af061f074a..9b529d350f 100644
--- a/plugins/periskop-backend/CHANGELOG.md
+++ b/plugins/periskop-backend/CHANGELOG.md
@@ -1,5 +1,32 @@
# @backstage/plugin-periskop-backend
+## 0.2.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.1.22-next.2
### Patch Changes
diff --git a/plugins/periskop-backend/package.json b/plugins/periskop-backend/package.json
index f1327810bf..a2b791ac67 100644
--- a/plugins/periskop-backend/package.json
+++ b/plugins/periskop-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-periskop-backend",
- "version": "0.1.22-next.2",
+ "version": "0.2.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/periskop/CHANGELOG.md b/plugins/periskop/CHANGELOG.md
index b5d4598d24..7c4b436b2c 100644
--- a/plugins/periskop/CHANGELOG.md
+++ b/plugins/periskop/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-periskop
+## 0.1.22-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.22-next.2
### Patch Changes
diff --git a/plugins/periskop/package.json b/plugins/periskop/package.json
index 5ba607e94b..031d909c19 100644
--- a/plugins/periskop/package.json
+++ b/plugins/periskop/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-periskop",
- "version": "0.1.22-next.2",
+ "version": "0.1.22-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md b/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md
index 8ed771d68a..4718e4a2f5 100644
--- a/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md
+++ b/plugins/permission-backend-module-policy-allow-all/CHANGELOG.md
@@ -1,5 +1,32 @@
# @backstage/plugin-permission-backend-module-allow-all-policy
+## 0.1.0-next.1
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.1.0-next.0
### Minor Changes
diff --git a/plugins/permission-backend-module-policy-allow-all/package.json b/plugins/permission-backend-module-policy-allow-all/package.json
index 76caea26be..8e31a61d03 100644
--- a/plugins/permission-backend-module-policy-allow-all/package.json
+++ b/plugins/permission-backend-module-policy-allow-all/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-permission-backend-module-allow-all-policy",
"description": "Allow all policy backend module for the permission plugin.",
- "version": "0.1.0-next.0",
+ "version": "0.1.0-next.1",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/permission-backend/CHANGELOG.md b/plugins/permission-backend/CHANGELOG.md
index ab2ef342f6..9e0965aa9a 100644
--- a/plugins/permission-backend/CHANGELOG.md
+++ b/plugins/permission-backend/CHANGELOG.md
@@ -1,5 +1,35 @@
# @backstage/plugin-permission-backend
+## 0.5.26-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- a8a614ba0d07: Minor `package.json` update.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.5.26-next.2
### Patch Changes
diff --git a/plugins/permission-backend/package.json b/plugins/permission-backend/package.json
index 460bc32b10..6022d0ccc0 100644
--- a/plugins/permission-backend/package.json
+++ b/plugins/permission-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-permission-backend",
- "version": "0.5.26-next.2",
+ "version": "0.5.26-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/permission-common/CHANGELOG.md b/plugins/permission-common/CHANGELOG.md
index caf6bacba6..97a3886f11 100644
--- a/plugins/permission-common/CHANGELOG.md
+++ b/plugins/permission-common/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-permission-common
+## 0.7.8-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+
## 0.7.8-next.1
### Patch Changes
diff --git a/plugins/permission-common/package.json b/plugins/permission-common/package.json
index a8b6b30169..9c7e6765cf 100644
--- a/plugins/permission-common/package.json
+++ b/plugins/permission-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-permission-common",
"description": "Isomorphic types and client for Backstage permissions and authorization",
- "version": "0.7.8-next.1",
+ "version": "0.7.8-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
diff --git a/plugins/permission-node/CHANGELOG.md b/plugins/permission-node/CHANGELOG.md
index d44cc37877..7f05726d36 100644
--- a/plugins/permission-node/CHANGELOG.md
+++ b/plugins/permission-node/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-permission-node
+## 0.7.14-next.3
+
+### Patch Changes
+
+- a8a614ba0d07: Minor `package.json` update.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.7.14-next.2
### Patch Changes
diff --git a/plugins/permission-node/package.json b/plugins/permission-node/package.json
index d88a691ba0..b1c6513408 100644
--- a/plugins/permission-node/package.json
+++ b/plugins/permission-node/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-permission-node",
"description": "Common permission and authorization utilities for backend plugins",
- "version": "0.7.14-next.2",
+ "version": "0.7.14-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/permission-react/CHANGELOG.md b/plugins/permission-react/CHANGELOG.md
index 2fcfc4b3a5..0894567cbf 100644
--- a/plugins/permission-react/CHANGELOG.md
+++ b/plugins/permission-react/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-permission-react
+## 0.4.15-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-permission-common@0.7.8-next.2
+
## 0.4.15-next.2
### Patch Changes
diff --git a/plugins/permission-react/package.json b/plugins/permission-react/package.json
index 8c7c410909..b2bbe3fe37 100644
--- a/plugins/permission-react/package.json
+++ b/plugins/permission-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-permission-react",
- "version": "0.4.15-next.2",
+ "version": "0.4.15-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/playlist-backend/CHANGELOG.md b/plugins/playlist-backend/CHANGELOG.md
index cd800dabd1..247f0fe628 100644
--- a/plugins/playlist-backend/CHANGELOG.md
+++ b/plugins/playlist-backend/CHANGELOG.md
@@ -1,5 +1,20 @@
# @backstage/plugin-playlist-backend
+## 0.3.7-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-playlist-common@0.1.10-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.3.7-next.2
### Patch Changes
diff --git a/plugins/playlist-backend/package.json b/plugins/playlist-backend/package.json
index 39670326ce..53a3bff88a 100644
--- a/plugins/playlist-backend/package.json
+++ b/plugins/playlist-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-playlist-backend",
- "version": "0.3.7-next.2",
+ "version": "0.3.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/playlist-common/CHANGELOG.md b/plugins/playlist-common/CHANGELOG.md
index 9dcc158cc7..d4da347fd0 100644
--- a/plugins/playlist-common/CHANGELOG.md
+++ b/plugins/playlist-common/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-playlist-common
+## 0.1.10-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.7.8-next.2
+
## 0.1.10-next.1
### Patch Changes
diff --git a/plugins/playlist-common/package.json b/plugins/playlist-common/package.json
index 31ca2492a6..4e0ac59ff2 100644
--- a/plugins/playlist-common/package.json
+++ b/plugins/playlist-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-playlist-common",
"description": "Common functionalities for the playlist plugin",
- "version": "0.1.10-next.1",
+ "version": "0.1.10-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/playlist/CHANGELOG.md b/plugins/playlist/CHANGELOG.md
index 5590049552..3deb9cc5b5 100644
--- a/plugins/playlist/CHANGELOG.md
+++ b/plugins/playlist/CHANGELOG.md
@@ -1,5 +1,25 @@
# @backstage/plugin-playlist
+## 0.1.16-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 2f3215bbbffe: Fix a bug that led to errors being thrown in guest mode
+- fdbf215a8d8e: Fix the Ui style of the search bar
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/plugin-playlist-common@0.1.10-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.16-next.2
### Patch Changes
diff --git a/plugins/playlist/package.json b/plugins/playlist/package.json
index 90b206285e..9a97afcc5d 100644
--- a/plugins/playlist/package.json
+++ b/plugins/playlist/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-playlist",
- "version": "0.1.16-next.2",
+ "version": "0.1.16-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/proxy-backend/CHANGELOG.md b/plugins/proxy-backend/CHANGELOG.md
index 92211efac1..6aa151f5d2 100644
--- a/plugins/proxy-backend/CHANGELOG.md
+++ b/plugins/proxy-backend/CHANGELOG.md
@@ -1,5 +1,35 @@
# @backstage/plugin-proxy-backend
+## 0.4.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- 02ba0a2efd2a: Add the route name to an error message that appears when the backend
+ proxy wasn't well configured. This will help users to understand the
+ issue and fix the right configuration.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.3.3-next.2
### Patch Changes
diff --git a/plugins/proxy-backend/package.json b/plugins/proxy-backend/package.json
index 62a95cb5a7..b87f8a343a 100644
--- a/plugins/proxy-backend/package.json
+++ b/plugins/proxy-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-proxy-backend",
"description": "A Backstage backend plugin that helps you set up proxy endpoints in the backend",
- "version": "0.3.3-next.2",
+ "version": "0.4.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/proxy-backend/src/service/router.test.ts b/plugins/proxy-backend/src/service/router.test.ts
index 2b58e52e94..23b6e17ecc 100644
--- a/plugins/proxy-backend/src/service/router.test.ts
+++ b/plugins/proxy-backend/src/service/router.test.ts
@@ -157,7 +157,11 @@ describe('createRouter', () => {
logger,
discovery,
}),
- ).rejects.toThrow(new Error('Proxy target must be a string'));
+ ).rejects.toThrow(
+ new Error(
+ 'Proxy target for route "/test" must be a string, but is of type undefined',
+ ),
+ );
});
it('works if skip failures is set', async () => {
@@ -189,7 +193,7 @@ describe('createRouter', () => {
skipInvalidProxies: true,
});
expect((logger.warn as jest.Mock).mock.calls[0][0]).toEqual(
- 'skipped configuring /test due to Proxy target must be a string',
+ 'skipped configuring /test due to Proxy target for route "/test" must be a string, but is of type undefined',
);
expect(router).toBeDefined();
});
diff --git a/plugins/proxy-backend/src/service/router.ts b/plugins/proxy-backend/src/service/router.ts
index 61fddb60ed..96b9beceee 100644
--- a/plugins/proxy-backend/src/service/router.ts
+++ b/plugins/proxy-backend/src/service/router.ts
@@ -76,8 +76,11 @@ export function buildMiddleware(
typeof config === 'string' ? { target: config } : { ...config };
// Validate that target is a valid URL.
- if (typeof fullConfig.target !== 'string') {
- throw new Error(`Proxy target must be a string`);
+ const targetType = typeof fullConfig.target;
+ if (targetType !== 'string') {
+ throw new Error(
+ `Proxy target for route "${route}" must be a string, but is of type ${targetType}`,
+ );
}
try {
// eslint-disable-next-line no-new
diff --git a/plugins/puppetdb/CHANGELOG.md b/plugins/puppetdb/CHANGELOG.md
index 22f96ad52c..e34820799c 100644
--- a/plugins/puppetdb/CHANGELOG.md
+++ b/plugins/puppetdb/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-puppetdb
+## 0.1.7-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.7-next.2
### Patch Changes
diff --git a/plugins/puppetdb/package.json b/plugins/puppetdb/package.json
index 8596213746..260cfa73e5 100644
--- a/plugins/puppetdb/package.json
+++ b/plugins/puppetdb/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-puppetdb",
"description": "Backstage plugin to visualize resource information and Puppet facts from PuppetDB.",
- "version": "0.1.7-next.2",
+ "version": "0.1.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/rollbar-backend/CHANGELOG.md b/plugins/rollbar-backend/CHANGELOG.md
index a09b37a21e..0be471f56e 100644
--- a/plugins/rollbar-backend/CHANGELOG.md
+++ b/plugins/rollbar-backend/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-rollbar-backend
+## 0.1.48-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.1.48-next.2
### Patch Changes
diff --git a/plugins/rollbar-backend/package.json b/plugins/rollbar-backend/package.json
index b9bae6c5eb..0fd2a33e39 100644
--- a/plugins/rollbar-backend/package.json
+++ b/plugins/rollbar-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-rollbar-backend",
"description": "A Backstage backend plugin that integrates towards Rollbar",
- "version": "0.1.48-next.2",
+ "version": "0.1.48-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/rollbar/CHANGELOG.md b/plugins/rollbar/CHANGELOG.md
index f6da79d81b..2da143b6e0 100644
--- a/plugins/rollbar/CHANGELOG.md
+++ b/plugins/rollbar/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-rollbar
+## 0.4.24-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.4.24-next.2
### Patch Changes
diff --git a/plugins/rollbar/package.json b/plugins/rollbar/package.json
index e6183240d8..644ef562a8 100644
--- a/plugins/rollbar/package.json
+++ b/plugins/rollbar/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-rollbar",
"description": "A Backstage plugin that integrates towards Rollbar",
- "version": "0.4.24-next.2",
+ "version": "0.4.24-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md b/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md
index c8216e84fe..45a597eb45 100644
--- a/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md
+++ b/plugins/scaffolder-backend-module-confluence-to-markdown/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-scaffolder-backend-module-confluence-to-markdown
+## 0.2.4-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
## 0.2.4-next.2
### Patch Changes
diff --git a/plugins/scaffolder-backend-module-confluence-to-markdown/package.json b/plugins/scaffolder-backend-module-confluence-to-markdown/package.json
index 55edfabbd5..28961278d5 100644
--- a/plugins/scaffolder-backend-module-confluence-to-markdown/package.json
+++ b/plugins/scaffolder-backend-module-confluence-to-markdown/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-scaffolder-backend-module-confluence-to-markdown",
"description": "The confluence-to-markdown module for @backstage/plugin-scaffolder-backend",
- "version": "0.2.4-next.2",
+ "version": "0.2.4-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md
index 61a582692d..cf9d982eb4 100644
--- a/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md
+++ b/plugins/scaffolder-backend-module-cookiecutter/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-scaffolder-backend-module-cookiecutter
+## 0.2.27-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
## 0.2.27-next.2
### Patch Changes
diff --git a/plugins/scaffolder-backend-module-cookiecutter/package.json b/plugins/scaffolder-backend-module-cookiecutter/package.json
index 7812a27b7b..2b1239ed74 100644
--- a/plugins/scaffolder-backend-module-cookiecutter/package.json
+++ b/plugins/scaffolder-backend-module-cookiecutter/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-scaffolder-backend-module-cookiecutter",
"description": "A module for the scaffolder backend that lets you template projects using cookiecutter",
- "version": "0.2.27-next.2",
+ "version": "0.2.27-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md b/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md
index ae227974ce..9afd01ea96 100644
--- a/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md
+++ b/plugins/scaffolder-backend-module-gitlab/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-scaffolder-backend-module-gitlab
+## 0.2.6-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
## 0.2.6-next.2
### Patch Changes
diff --git a/plugins/scaffolder-backend-module-gitlab/package.json b/plugins/scaffolder-backend-module-gitlab/package.json
index 5931054df3..0c94bdf683 100644
--- a/plugins/scaffolder-backend-module-gitlab/package.json
+++ b/plugins/scaffolder-backend-module-gitlab/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-scaffolder-backend-module-gitlab",
- "version": "0.2.6-next.2",
+ "version": "0.2.6-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/scaffolder-backend-module-rails/CHANGELOG.md b/plugins/scaffolder-backend-module-rails/CHANGELOG.md
index 17063054a8..fceecb4de3 100644
--- a/plugins/scaffolder-backend-module-rails/CHANGELOG.md
+++ b/plugins/scaffolder-backend-module-rails/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-scaffolder-backend-module-rails
+## 0.4.20-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
## 0.4.20-next.2
### Patch Changes
diff --git a/plugins/scaffolder-backend-module-rails/package.json b/plugins/scaffolder-backend-module-rails/package.json
index 83d93d4681..8446140e06 100644
--- a/plugins/scaffolder-backend-module-rails/package.json
+++ b/plugins/scaffolder-backend-module-rails/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-scaffolder-backend-module-rails",
"description": "A module for the scaffolder backend that lets you template projects using Rails",
- "version": "0.4.20-next.2",
+ "version": "0.4.20-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/scaffolder-backend-module-sentry/CHANGELOG.md b/plugins/scaffolder-backend-module-sentry/CHANGELOG.md
index 9ab42214d5..ed76583c57 100644
--- a/plugins/scaffolder-backend-module-sentry/CHANGELOG.md
+++ b/plugins/scaffolder-backend-module-sentry/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-scaffolder-backend-module-sentry
+## 0.1.11-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
## 0.1.11-next.2
### Patch Changes
diff --git a/plugins/scaffolder-backend-module-sentry/package.json b/plugins/scaffolder-backend-module-sentry/package.json
index 0b747f2000..3e78bd2009 100644
--- a/plugins/scaffolder-backend-module-sentry/package.json
+++ b/plugins/scaffolder-backend-module-sentry/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-scaffolder-backend-module-sentry",
- "version": "0.1.11-next.2",
+ "version": "0.1.11-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md b/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md
index a0f424edc2..efd43887a8 100644
--- a/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md
+++ b/plugins/scaffolder-backend-module-yeoman/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-scaffolder-backend-module-yeoman
+## 0.2.24-next.3
+
+### Patch Changes
+
+- 4fa1c74cbadc: Enables dry-run functionality for the run:yeoman scaffolder action
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
## 0.2.24-next.2
### Patch Changes
diff --git a/plugins/scaffolder-backend-module-yeoman/package.json b/plugins/scaffolder-backend-module-yeoman/package.json
index ff366f9088..ab980d9fca 100644
--- a/plugins/scaffolder-backend-module-yeoman/package.json
+++ b/plugins/scaffolder-backend-module-yeoman/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-scaffolder-backend-module-yeoman",
- "version": "0.2.24-next.2",
+ "version": "0.2.24-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/scaffolder-backend-module-yeoman/src/actions/run/yeoman.ts b/plugins/scaffolder-backend-module-yeoman/src/actions/run/yeoman.ts
index 89ea10b6a6..62d62807ae 100644
--- a/plugins/scaffolder-backend-module-yeoman/src/actions/run/yeoman.ts
+++ b/plugins/scaffolder-backend-module-yeoman/src/actions/run/yeoman.ts
@@ -61,6 +61,7 @@ export function createRunYeomanAction() {
},
},
},
+ supportsDryRun: true,
async handler(ctx) {
ctx.logger.info(
`Templating using Yeoman generator: ${ctx.input.namespace}`,
diff --git a/plugins/scaffolder-backend/CHANGELOG.md b/plugins/scaffolder-backend/CHANGELOG.md
index 0995a4b047..34b62fe21d 100644
--- a/plugins/scaffolder-backend/CHANGELOG.md
+++ b/plugins/scaffolder-backend/CHANGELOG.md
@@ -1,5 +1,53 @@
# @backstage/plugin-scaffolder-backend
+## 1.17.0-next.3
+
+### Minor Changes
+
+- b5f239b50bcf: Improved the `parseEntityRef` Scaffolder filter by introducing the ability for users to provide default kind and/or namespace values. The filter now takes
+ 2 arguments, similarly to the original [parseEntityRef](https://github.com/backstage/backstage/blob/v1.17.2/packages/catalog-model/src/entity/ref.ts#L77).
+- d5313ede3529: **DEPRECATION**: Deprecated `ScaffolderEntitiesProcessor`, which should now instead be imported from `@backstage/plugin-catalog-backend-module-scaffolder-entity-model`.
+
+ `catalogModuleTemplateKind` was also moved to that package and renamed to `catalogModuleScaffolderEntityModel`, without any deprecation since it was an alpha export.
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@1.13.0-next.3
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.1.0-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-scaffolder-node@0.2.3-next.3
+
## 1.16.6-next.2
### Patch Changes
diff --git a/plugins/scaffolder-backend/alpha-api-report.md b/plugins/scaffolder-backend/alpha-api-report.md
index 20def133ad..2eb0187a94 100644
--- a/plugins/scaffolder-backend/alpha-api-report.md
+++ b/plugins/scaffolder-backend/alpha-api-report.md
@@ -15,9 +15,6 @@ import { ResourcePermission } from '@backstage/plugin-permission-common';
import { TemplateEntityStepV1beta3 } from '@backstage/plugin-scaffolder-common';
import { TemplateParametersV1beta3 } from '@backstage/plugin-scaffolder-common';
-// @alpha
-export const catalogModuleTemplateKind: () => BackendFeature;
-
// @alpha (undocumented)
export const createScaffolderActionConditionalDecision: (
permission: ResourcePermission<'scaffolder-action'>,
diff --git a/plugins/scaffolder-backend/api-report.md b/plugins/scaffolder-backend/api-report.md
index 7fe4964827..17e13131cf 100644
--- a/plugins/scaffolder-backend/api-report.md
+++ b/plugins/scaffolder-backend/api-report.md
@@ -5,12 +5,9 @@
```ts
import { ActionContext as ActionContext_2 } from '@backstage/plugin-scaffolder-node';
import { CatalogApi } from '@backstage/catalog-client';
-import { CatalogProcessor } from '@backstage/plugin-catalog-node';
-import { CatalogProcessorEmit } from '@backstage/plugin-catalog-node';
import { Config } from '@backstage/config';
import { createPullRequest } from 'octokit-plugin-create-pull-request';
import { Duration } from 'luxon';
-import { Entity } from '@backstage/catalog-model';
import { executeShellCommand as executeShellCommand_2 } from '@backstage/plugin-scaffolder-node';
import { ExecuteShellCommandOptions } from '@backstage/plugin-scaffolder-node';
import express from 'express';
@@ -20,7 +17,6 @@ import { HumanDuration } from '@backstage/types';
import { IdentityApi } from '@backstage/plugin-auth-node';
import { JsonObject } from '@backstage/types';
import { Knex } from 'knex';
-import { LocationSpec } from '@backstage/plugin-catalog-common';
import { Logger } from 'winston';
import { Octokit } from 'octokit';
import { PermissionEvaluator } from '@backstage/plugin-permission-common';
@@ -30,6 +26,7 @@ import { PluginDatabaseManager } from '@backstage/backend-common';
import { PluginTaskScheduler } from '@backstage/backend-tasks';
import { RESOURCE_TYPE_SCAFFOLDER_ACTION } from '@backstage/plugin-scaffolder-common/alpha';
import { RESOURCE_TYPE_SCAFFOLDER_TEMPLATE } from '@backstage/plugin-scaffolder-common/alpha';
+import { ScaffolderEntitiesProcessor as ScaffolderEntitiesProcessor_2 } from '@backstage/plugin-catalog-backend-module-scaffolder-entity-model';
import { Schema } from 'jsonschema';
import { ScmIntegrationRegistry } from '@backstage/integration';
import { ScmIntegrations } from '@backstage/integration';
@@ -881,19 +878,8 @@ export interface RouterOptions {
// @public @deprecated
export type RunCommandOptions = ExecuteShellCommandOptions;
-// @public (undocumented)
-export class ScaffolderEntitiesProcessor implements CatalogProcessor {
- // (undocumented)
- getProcessorName(): string;
- // (undocumented)
- postProcessEntity(
- entity: Entity,
- _location: LocationSpec,
- emit: CatalogProcessorEmit,
- ): Promise;
- // (undocumented)
- validateEntityKind(entity: Entity): Promise;
-}
+// @public @deprecated
+export const ScaffolderEntitiesProcessor: typeof ScaffolderEntitiesProcessor_2;
// @public @deprecated
export type SerializedTask = SerializedTask_2;
diff --git a/plugins/scaffolder-backend/package.json b/plugins/scaffolder-backend/package.json
index 0399684144..c5dad8c4b3 100644
--- a/plugins/scaffolder-backend/package.json
+++ b/plugins/scaffolder-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-scaffolder-backend",
"description": "The Backstage backend plugin that helps you create new things",
- "version": "1.16.6-next.2",
+ "version": "1.17.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -56,6 +56,7 @@
"@backstage/integration": "workspace:^",
"@backstage/plugin-auth-node": "workspace:^",
"@backstage/plugin-catalog-backend": "workspace:^",
+ "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "workspace:^",
"@backstage/plugin-catalog-common": "workspace:^",
"@backstage/plugin-catalog-node": "workspace:^",
"@backstage/plugin-permission-common": "workspace:^",
diff --git a/plugins/scaffolder-backend/src/alpha.ts b/plugins/scaffolder-backend/src/alpha.ts
index 07228fab88..4c4885413b 100644
--- a/plugins/scaffolder-backend/src/alpha.ts
+++ b/plugins/scaffolder-backend/src/alpha.ts
@@ -14,6 +14,5 @@
* limitations under the License.
*/
-export * from './modules';
export * from './service';
export { scaffolderPlugin as default } from './ScaffolderPlugin';
diff --git a/plugins/scaffolder-backend/src/deprecated.ts b/plugins/scaffolder-backend/src/deprecated.ts
index d1a0f9ad5b..a1bcc30564 100644
--- a/plugins/scaffolder-backend/src/deprecated.ts
+++ b/plugins/scaffolder-backend/src/deprecated.ts
@@ -24,6 +24,7 @@ import {
fetchContents as fetchContentsNode,
} from '@backstage/plugin-scaffolder-node';
import { JsonObject } from '@backstage/types';
+import { ScaffolderEntitiesProcessor as ScaffolderEntitiesProcessorModule } from '@backstage/plugin-catalog-backend-module-scaffolder-entity-model';
/**
* @public
@@ -75,3 +76,11 @@ export const executeShellCommand = executeShellCommandNode;
* @deprecated Use `fetchContents` from `@backstage/plugin-scaffolder-node` instead
*/
export const fetchContents = fetchContentsNode;
+
+/**
+ * Adds support for scaffolder specific entity kinds to the catalog.
+ *
+ * @public
+ * @deprecated Import from `@backstage/plugin-catalog-backend-module-scaffolder-entity-model` instead
+ */
+export const ScaffolderEntitiesProcessor = ScaffolderEntitiesProcessorModule;
diff --git a/plugins/scaffolder-backend/src/index.ts b/plugins/scaffolder-backend/src/index.ts
index ba2c25f80a..649a5df233 100644
--- a/plugins/scaffolder-backend/src/index.ts
+++ b/plugins/scaffolder-backend/src/index.ts
@@ -23,6 +23,5 @@
export * from './scaffolder';
export * from './service/router';
export * from './lib';
-export * from './processor';
export * from './deprecated';
diff --git a/plugins/scaffolder-backend/src/lib/templating/filters.ts b/plugins/scaffolder-backend/src/lib/templating/filters.ts
index 204d0015d8..7808d6d136 100644
--- a/plugins/scaffolder-backend/src/lib/templating/filters.ts
+++ b/plugins/scaffolder-backend/src/lib/templating/filters.ts
@@ -15,7 +15,7 @@
*/
import { parseEntityRef } from '@backstage/catalog-model';
import { ScmIntegrations } from '@backstage/integration';
-import { JsonValue } from '@backstage/types';
+import type { JsonObject, JsonValue } from '@backstage/types';
import { TemplateFilter } from '..';
import { parseRepoUrl } from '../../scaffolder/actions/builtin/publish/util';
import get from 'lodash/get';
@@ -27,7 +27,8 @@ export const createDefaultFilters = ({
}): Record => {
return {
parseRepoUrl: url => parseRepoUrl(url as string, integrations),
- parseEntityRef: ref => parseEntityRef(ref as string),
+ parseEntityRef: (ref: JsonValue, context?: JsonValue) =>
+ parseEntityRef(ref as string, context as JsonObject),
pick: (obj: JsonValue, key: JsonValue) => get(obj, key as string),
projectSlug: repoUrl => {
const { owner, repo } = parseRepoUrl(repoUrl as string, integrations);
diff --git a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts
index 253a6c4388..d94a8eac69 100644
--- a/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts
+++ b/plugins/scaffolder-backend/src/scaffolder/tasks/NunjucksWorkflowRunner.test.ts
@@ -808,31 +808,174 @@ describe('DefaultWorkflowRunner', () => {
});
});
- it('provides the parseEntityRef filter', async () => {
- const task = createMockTaskWithSpec({
- apiVersion: 'scaffolder.backstage.io/v1beta3',
- steps: [
- {
- id: 'test',
- name: 'name',
- action: 'output-action',
- input: {},
+ describe('parseEntityRef', () => {
+ it('parses entity ref', async () => {
+ const task = createMockTaskWithSpec({
+ apiVersion: 'scaffolder.backstage.io/v1beta3',
+ steps: [
+ {
+ id: 'test',
+ name: 'name',
+ action: 'output-action',
+ input: {},
+ },
+ ],
+ output: {
+ foo: '${{ parameters.entity | parseEntityRef }}',
},
- ],
- output: {
- foo: '${{ parameters.entity | parseEntityRef }}',
- },
- parameters: {
- entity: 'component:default/ben',
- },
+ parameters: {
+ entity: 'component:default/ben',
+ },
+ });
+
+ const { output } = await runner.execute(task);
+
+ expect(output.foo).toEqual({
+ kind: 'component',
+ namespace: 'default',
+ name: 'ben',
+ });
});
- const { output } = await runner.execute(task);
+ it('provides default kind for parsing entity ref', async () => {
+ const task = createMockTaskWithSpec({
+ apiVersion: 'scaffolder.backstage.io/v1beta3',
+ steps: [
+ {
+ id: 'test',
+ name: 'name',
+ action: 'output-action',
+ input: {},
+ },
+ ],
+ output: {
+ foo: `\${{ parameters.entity | parseEntityRef({ defaultKind:"user" }) }}`,
+ },
+ parameters: {
+ entity: 'ben',
+ },
+ });
- expect(output.foo).toEqual({
- kind: 'component',
- namespace: 'default',
- name: 'ben',
+ const { output } = await runner.execute(task);
+
+ expect(output.foo).toEqual({
+ kind: 'user',
+ namespace: 'default',
+ name: 'ben',
+ });
+ });
+
+ it('provides default namespace for parsing entity ref', async () => {
+ const task = createMockTaskWithSpec({
+ apiVersion: 'scaffolder.backstage.io/v1beta3',
+ steps: [
+ {
+ id: 'test',
+ name: 'name',
+ action: 'output-action',
+ input: {},
+ },
+ ],
+ output: {
+ foo: `\${{ parameters.entity | parseEntityRef({ defaultNamespace:"namespace-b" }) }}`,
+ },
+ parameters: {
+ entity: 'user:ben',
+ },
+ });
+
+ const { output } = await runner.execute(task);
+
+ expect(output.foo).toEqual({
+ kind: 'user',
+ namespace: 'namespace-b',
+ name: 'ben',
+ });
+ });
+
+ it('provides default kind and namespace for parsing entity ref', async () => {
+ const task = createMockTaskWithSpec({
+ apiVersion: 'scaffolder.backstage.io/v1beta3',
+ steps: [
+ {
+ id: 'test',
+ name: 'name',
+ action: 'output-action',
+ input: {},
+ },
+ ],
+ output: {
+ foo: `\${{ parameters.entity | parseEntityRef({ defaultKind:"user", defaultNamespace:"namespace-b" }) }}`,
+ },
+ parameters: {
+ entity: 'ben',
+ },
+ });
+
+ const { output } = await runner.execute(task);
+
+ expect(output.foo).toEqual({
+ kind: 'user',
+ namespace: 'namespace-b',
+ name: 'ben',
+ });
+ });
+
+ it.each(['undefined', 'null', 'None', 'group', 0, '{}', '[]'])(
+ 'ignores invalid context "%s" for parsing entity refF',
+ async kind => {
+ const task = createMockTaskWithSpec({
+ apiVersion: 'scaffolder.backstage.io/v1beta3',
+ steps: [
+ {
+ id: 'test',
+ name: 'name',
+ action: 'output-action',
+ input: {},
+ },
+ ],
+ output: {
+ foo: `\${{ parameters.entity | parseEntityRef(${kind}) }}`,
+ },
+ parameters: {
+ entity: 'user:default/ben',
+ },
+ });
+
+ const { output } = await runner.execute(task);
+
+ expect(output.foo).toEqual({
+ kind: 'user',
+ namespace: 'default',
+ name: 'ben',
+ });
+ },
+ );
+
+ it('fails when unable to parse entity ref', async () => {
+ const task = createMockTaskWithSpec({
+ apiVersion: 'scaffolder.backstage.io/v1beta3',
+ steps: [
+ {
+ id: 'test',
+ name: 'name',
+ action: 'output-action',
+ input: {},
+ },
+ ],
+ output: {
+ foo: `\${{ parameters.entity | parseEntityRef({ defaultNamespace:"namespace-b" }) }}`,
+ },
+ parameters: {
+ entity: 'ben',
+ },
+ });
+
+ const { output } = await runner.execute(task);
+
+ expect(output.foo).toEqual(
+ `\${{ parameters.entity | parseEntityRef({ defaultNamespace:"namespace-b" }) }}`,
+ );
});
});
diff --git a/plugins/scaffolder-common/CHANGELOG.md b/plugins/scaffolder-common/CHANGELOG.md
index 1478dd8ba9..0472c868a2 100644
--- a/plugins/scaffolder-common/CHANGELOG.md
+++ b/plugins/scaffolder-common/CHANGELOG.md
@@ -1,5 +1,15 @@
# @backstage/plugin-scaffolder-common
+## 1.4.1-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/types@1.1.1-next.0
+
## 1.4.1-next.1
### Patch Changes
diff --git a/plugins/scaffolder-common/package.json b/plugins/scaffolder-common/package.json
index 98d99ee303..cb59a63732 100644
--- a/plugins/scaffolder-common/package.json
+++ b/plugins/scaffolder-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-scaffolder-common",
"description": "Common functionalities for the scaffolder, to be shared between scaffolder and scaffolder-backend plugin",
- "version": "1.4.1-next.1",
+ "version": "1.4.1-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/scaffolder-node/CHANGELOG.md b/plugins/scaffolder-node/CHANGELOG.md
index eb1981df26..aa3d9e20f1 100644
--- a/plugins/scaffolder-node/CHANGELOG.md
+++ b/plugins/scaffolder-node/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-scaffolder-node
+## 0.2.3-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.2.3-next.2
### Patch Changes
diff --git a/plugins/scaffolder-node/package.json b/plugins/scaffolder-node/package.json
index 37bf100c40..5874309f59 100644
--- a/plugins/scaffolder-node/package.json
+++ b/plugins/scaffolder-node/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-scaffolder-node",
"description": "The plugin-scaffolder-node module for @backstage/plugin-scaffolder-backend",
- "version": "0.2.3-next.2",
+ "version": "0.2.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/scaffolder-react/CHANGELOG.md b/plugins/scaffolder-react/CHANGELOG.md
index 67a50d8b03..573bc7458f 100644
--- a/plugins/scaffolder-react/CHANGELOG.md
+++ b/plugins/scaffolder-react/CHANGELOG.md
@@ -1,5 +1,26 @@
# @backstage/plugin-scaffolder-react
+## 1.5.5-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- b16c341ced45: Updated dependency `@rjsf/utils` to `5.13.0`.
+ Updated dependency `@rjsf/core-v5` to `npm:@rjsf/core@5.13.0`.
+ Updated dependency `@rjsf/material-ui-v5` to `npm:@rjsf/material-ui@5.13.0`.
+ Updated dependency `@rjsf/validator-ajv8` to `5.13.0`.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
## 1.5.5-next.2
### Patch Changes
diff --git a/plugins/scaffolder-react/package.json b/plugins/scaffolder-react/package.json
index 15261f64fe..c4a2e3c674 100644
--- a/plugins/scaffolder-react/package.json
+++ b/plugins/scaffolder-react/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-scaffolder-react",
"description": "A frontend library that helps other Backstage plugins interact with the Scaffolder",
- "version": "1.5.5-next.2",
+ "version": "1.5.5-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -61,11 +61,11 @@
"@material-ui/lab": "4.0.0-alpha.61",
"@react-hookz/web": "^20.0.0",
"@rjsf/core": "^3.2.1",
- "@rjsf/core-v5": "npm:@rjsf/core@5.7.3",
+ "@rjsf/core-v5": "npm:@rjsf/core@5.13.0",
"@rjsf/material-ui": "^3.2.1",
- "@rjsf/material-ui-v5": "npm:@rjsf/material-ui@5.7.3",
- "@rjsf/utils": "5.7.3",
- "@rjsf/validator-ajv8": "5.7.3",
+ "@rjsf/material-ui-v5": "npm:@rjsf/material-ui@5.13.0",
+ "@rjsf/utils": "5.13.0",
+ "@rjsf/validator-ajv8": "5.13.0",
"@types/json-schema": "^7.0.9",
"@types/react": "^16.13.1 || ^17.0.0",
"classnames": "^2.2.6",
diff --git a/plugins/scaffolder-react/src/next/hooks/useTemplateSchema.test.tsx b/plugins/scaffolder-react/src/next/hooks/useTemplateSchema.test.tsx
index d257d69c59..9a0732442c 100644
--- a/plugins/scaffolder-react/src/next/hooks/useTemplateSchema.test.tsx
+++ b/plugins/scaffolder-react/src/next/hooks/useTemplateSchema.test.tsx
@@ -50,7 +50,7 @@ describe('useTemplateSchema', () => {
};
const { result } = renderHook(() => useTemplateSchema(manifest), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
false }]]}
>
@@ -117,7 +117,7 @@ describe('useTemplateSchema', () => {
};
const { result } = renderHook(() => useTemplateSchema(manifest), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
false }]]}
>
@@ -161,7 +161,7 @@ describe('useTemplateSchema', () => {
};
const { result } = renderHook(() => useTemplateSchema(manifest), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
true }]]}
>
@@ -212,7 +212,7 @@ describe('useTemplateSchema', () => {
};
const { result } = renderHook(() => useTemplateSchema(manifest), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
false }]]}
>
@@ -250,7 +250,7 @@ describe('useTemplateSchema', () => {
};
const { result } = renderHook(() => useTemplateSchema(manifest), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
false }]]}
>
diff --git a/plugins/scaffolder-react/src/next/hooks/useTransformSchemaToProps.test.tsx b/plugins/scaffolder-react/src/next/hooks/useTransformSchemaToProps.test.tsx
index 6dba7b9f29..7ee5cbfdfd 100644
--- a/plugins/scaffolder-react/src/next/hooks/useTransformSchemaToProps.test.tsx
+++ b/plugins/scaffolder-react/src/next/hooks/useTransformSchemaToProps.test.tsx
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import React from 'react';
+import React, { PropsWithChildren } from 'react';
import { renderHook } from '@testing-library/react-hooks';
import { TestApiProvider } from '@backstage/test-utils';
import { type ParsedTemplateSchema } from './useTemplateSchema';
@@ -39,7 +39,7 @@ describe('useTransformSchemaToProps', () => {
const { result } = renderHook(
() => useTransformSchemaToProps(step, { layouts }),
{
- wrapper: ({ children }) => (
+ wrapper: ({ children }: PropsWithChildren<{}>) => (
{children}
),
},
diff --git a/plugins/scaffolder-react/src/secrets/SecretsContext.test.tsx b/plugins/scaffolder-react/src/secrets/SecretsContext.test.tsx
index 593fbd908b..553f27d2a9 100644
--- a/plugins/scaffolder-react/src/secrets/SecretsContext.test.tsx
+++ b/plugins/scaffolder-react/src/secrets/SecretsContext.test.tsx
@@ -24,7 +24,7 @@ describe('SecretsContext', () => {
hook: useTemplateSecrets(),
}),
{
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
{children}
),
},
diff --git a/plugins/scaffolder/CHANGELOG.md b/plugins/scaffolder/CHANGELOG.md
index 98f7829279..22aec393d8 100644
--- a/plugins/scaffolder/CHANGELOG.md
+++ b/plugins/scaffolder/CHANGELOG.md
@@ -1,5 +1,36 @@
# @backstage/plugin-scaffolder
+## 1.15.0-next.3
+
+### Minor Changes
+
+- 0119c326394a: adding a .zip download to dry run results page, including zip.js as dependency
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 6e69c11a3535: Restored functionality to `OwnedEntityPicker` by converting deprecated `ui:options` input to `catalogFilter`.
+- b16c341ced45: Updated dependency `@rjsf/utils` to `5.13.0`.
+ Updated dependency `@rjsf/core-v5` to `npm:@rjsf/core@5.13.0`.
+ Updated dependency `@rjsf/material-ui-v5` to `npm:@rjsf/material-ui@5.13.0`.
+ Updated dependency `@rjsf/validator-ajv8` to `5.13.0`.
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-permission-react@0.4.15-next.3
+ - @backstage/plugin-scaffolder-common@1.4.1-next.2
+ - @backstage/plugin-scaffolder-react@1.5.5-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
## 1.14.5-next.2
### Patch Changes
diff --git a/plugins/scaffolder/api-report.md b/plugins/scaffolder/api-report.md
index 59d2d54fcc..a776628da5 100644
--- a/plugins/scaffolder/api-report.md
+++ b/plugins/scaffolder/api-report.md
@@ -241,6 +241,24 @@ export const OwnedEntityPickerFieldExtension: FieldExtensionComponent_2<
defaultKind?: string | undefined;
allowArbitraryValues?: boolean | undefined;
defaultNamespace?: string | false | undefined;
+ catalogFilter?:
+ | Record<
+ string,
+ | string
+ | string[]
+ | {
+ exists?: boolean | undefined;
+ }
+ >
+ | Record<
+ string,
+ | string
+ | string[]
+ | {
+ exists?: boolean | undefined;
+ }
+ >[]
+ | undefined;
}
>;
@@ -252,6 +270,24 @@ export const OwnedEntityPickerFieldSchema: FieldSchema<
defaultKind?: string | undefined;
allowArbitraryValues?: boolean | undefined;
defaultNamespace?: string | false | undefined;
+ catalogFilter?:
+ | Record<
+ string,
+ | string
+ | string[]
+ | {
+ exists?: boolean | undefined;
+ }
+ >
+ | Record<
+ string,
+ | string
+ | string[]
+ | {
+ exists?: boolean | undefined;
+ }
+ >[]
+ | undefined;
}
>;
diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json
index 9f7b8aa553..71e536d431 100644
--- a/plugins/scaffolder/package.json
+++ b/plugins/scaffolder/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-scaffolder",
"description": "The Backstage plugin that helps you create new things",
- "version": "1.14.5-next.2",
+ "version": "1.15.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
@@ -70,8 +70,8 @@
"@react-hookz/web": "^20.0.0",
"@rjsf/core": "^3.2.1",
"@rjsf/material-ui": "^3.2.1",
- "@rjsf/utils": "5.7.3",
- "@rjsf/validator-ajv8": "5.7.3",
+ "@rjsf/utils": "5.13.0",
+ "@rjsf/validator-ajv8": "5.13.0",
"@types/react": "^16.13.1 || ^17.0.0",
"@uiw/react-codemirror": "^4.9.3",
"classnames": "^2.2.6",
@@ -81,6 +81,7 @@
"immer": "^9.0.1",
"json-schema": "^0.4.0",
"json-schema-library": "^7.3.9",
+ "jszip": "^3.10.1",
"lodash": "^4.17.21",
"luxon": "^3.0.0",
"qs": "^6.9.4",
diff --git a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.tsx b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.tsx
index a617eebe1e..1765e8cb94 100644
--- a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.tsx
+++ b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunContext.tsx
@@ -40,7 +40,7 @@ interface DryRunOptions {
files: Array<{ path: string; content: string }>;
}
-interface DryRunResult extends ScaffolderDryRunResponse {
+export interface DryRunResult extends ScaffolderDryRunResponse {
id: number;
}
diff --git a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsList.tsx b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsList.tsx
index 462c3b58fd..df6e8ef5f2 100644
--- a/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsList.tsx
+++ b/plugins/scaffolder/src/components/TemplateEditorPage/DryRunResults/DryRunResultsList.tsx
@@ -25,8 +25,10 @@ import { makeStyles } from '@material-ui/core/styles';
import CancelIcon from '@material-ui/icons/Cancel';
import CheckIcon from '@material-ui/icons/Check';
import DeleteIcon from '@material-ui/icons/Delete';
+import DownloadIcon from '@material-ui/icons/GetApp';
import React from 'react';
import { useDryRun } from '../DryRunContext';
+import { downloadBlob } from '../../../lib/download';
const useStyles = makeStyles((theme: BackstageTheme) => ({
root: {
@@ -53,6 +55,17 @@ export function DryRunResultsList() {
{dryRun.results.map(result => {
const failed = result.log.some(l => l.body.status === 'failed');
+ let isLoading = false;
+
+ async function downloadResult() {
+ isLoading = true;
+ await downloadDirectoryContents(
+ result.directoryContents,
+ `dry-run-result-${result.id}.zip`,
+ );
+ isLoading = false;
+ }
+
return (
+ downloadResult()}
+ >
+
+
dryRun.deleteResult(result.id)}
>
@@ -81,3 +104,26 @@ export function DryRunResultsList() {
);
}
+
+async function downloadDirectoryContents(
+ directoryContents: {
+ path: string;
+ base64Content: string;
+ executable: boolean;
+ }[],
+ name: string,
+) {
+ const { default: JSZip } = await import('jszip');
+ const zip = new JSZip();
+
+ for (const d of directoryContents) {
+ // Decode text content from base64 to ascii
+ const converted = atob(d.base64Content);
+
+ // add folder/file to zip
+ await zip.file(d.path, converted);
+ }
+
+ const blob = await zip.generateAsync({ type: 'blob' });
+ downloadBlob(blob, name);
+}
diff --git a/plugins/scaffolder/src/components/fields/OwnedEntityPicker/OwnedEntityPicker.tsx b/plugins/scaffolder/src/components/fields/OwnedEntityPicker/OwnedEntityPicker.tsx
index 0122f015a3..d7999c8c0c 100644
--- a/plugins/scaffolder/src/components/fields/OwnedEntityPicker/OwnedEntityPicker.tsx
+++ b/plugins/scaffolder/src/components/fields/OwnedEntityPicker/OwnedEntityPicker.tsx
@@ -22,6 +22,7 @@ import useAsync from 'react-use/lib/useAsync';
import { EntityPicker } from '../EntityPicker/EntityPicker';
import { OwnedEntityPickerProps } from './schema';
+import { EntityPickerProps } from '../EntityPicker/schema';
export { OwnedEntityPickerSchema } from './schema';
@@ -44,7 +45,6 @@ export const OwnedEntityPicker = (props: OwnedEntityPickerProps) => {
return identity.ownershipEntityRefs;
});
- const allowedKinds = uiSchema['ui:options']?.allowedKinds;
if (loading)
return (
{
/>
);
- return (
-
+ const entityPickerUISchema = buildEntityPickerUISchema(
+ uiSchema,
+ identityRefs,
);
+
+ return ;
};
+
+/**
+ * Builds a `uiSchema` for an `EntityPicker` from a parent `OwnedEntityPicker`.
+ * Migrates deprecated parameters such as `allowedKinds` to `catalogFilter` structure.
+ *
+ * @param uiSchema The `uiSchema` of an `OwnedEntityPicker` component.
+ * @param identityRefs The user and group entities that the user claims ownership through.
+ * @returns The `uiSchema` for an `EntityPicker` component.
+ */
+function buildEntityPickerUISchema(
+ uiSchema: OwnedEntityPickerProps['uiSchema'],
+ identityRefs: string[] | undefined,
+): EntityPickerProps['uiSchema'] {
+ // Note: This is typed to avoid es-lint rule TS2698
+ const uiOptions: EntityPickerProps['uiSchema']['ui:options'] =
+ uiSchema?.['ui:options'] || {};
+ const allowedKinds = uiOptions.allowedKinds;
+
+ const catalogFilter = {
+ ...uiOptions.catalogFilter,
+ ...(allowedKinds
+ ? {
+ kind: allowedKinds,
+ [`relations.${RELATION_OWNED_BY}`]: identityRefs || [],
+ }
+ : {
+ [`relations.${RELATION_OWNED_BY}`]: identityRefs || [],
+ }),
+ };
+
+ return {
+ 'ui:options': {
+ catalogFilter,
+ },
+ };
+}
diff --git a/plugins/scaffolder/src/components/fields/OwnedEntityPicker/schema.ts b/plugins/scaffolder/src/components/fields/OwnedEntityPicker/schema.ts
index 4190b89f95..2bb75db263 100644
--- a/plugins/scaffolder/src/components/fields/OwnedEntityPicker/schema.ts
+++ b/plugins/scaffolder/src/components/fields/OwnedEntityPicker/schema.ts
@@ -15,6 +15,7 @@
*/
import { z } from 'zod';
import { makeFieldSchemaFromZod } from '../utils';
+import { entityQueryFilterExpressionSchema } from '../EntityPicker/schema';
/**
* @public
@@ -25,7 +26,9 @@ export const OwnedEntityPickerFieldSchema = makeFieldSchemaFromZod(
allowedKinds: z
.array(z.string())
.optional()
- .describe('List of kinds of entities to derive options from'),
+ .describe(
+ 'DEPRECATED: Use `catalogFilter` instead. List of kinds of entities to derive options from',
+ ),
defaultKind: z
.string()
.optional()
@@ -42,6 +45,11 @@ export const OwnedEntityPickerFieldSchema = makeFieldSchemaFromZod(
.describe(
'The default namespace. Options with this namespace will not be prefixed.',
),
+ catalogFilter: z
+ .array(entityQueryFilterExpressionSchema)
+ .or(entityQueryFilterExpressionSchema)
+ .optional()
+ .describe('List of key-value filter expression for entities'),
}),
);
diff --git a/plugins/scaffolder/src/lib/download/helpers.ts b/plugins/scaffolder/src/lib/download/helpers.ts
new file mode 100644
index 0000000000..2cc5d86973
--- /dev/null
+++ b/plugins/scaffolder/src/lib/download/helpers.ts
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2022 The Backstage Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+export function downloadBlob(blob: Blob, name: string) {
+ const a = document.createElement('a');
+ a.href = URL.createObjectURL(blob);
+ a.download = name;
+ a.click();
+ URL.revokeObjectURL(a.href);
+ a.remove();
+}
diff --git a/plugins/scaffolder-backend/src/modules/index.ts b/plugins/scaffolder/src/lib/download/index.ts
similarity index 89%
rename from plugins/scaffolder-backend/src/modules/index.ts
rename to plugins/scaffolder/src/lib/download/index.ts
index 993a66815a..0b51b8e61d 100644
--- a/plugins/scaffolder-backend/src/modules/index.ts
+++ b/plugins/scaffolder/src/lib/download/index.ts
@@ -14,4 +14,4 @@
* limitations under the License.
*/
-export { catalogModuleTemplateKind } from './catalogModuleTemplateKind';
+export { downloadBlob } from './helpers';
diff --git a/plugins/search-backend-module-catalog/CHANGELOG.md b/plugins/search-backend-module-catalog/CHANGELOG.md
index 55feee5462..003809128f 100644
--- a/plugins/search-backend-module-catalog/CHANGELOG.md
+++ b/plugins/search-backend-module-catalog/CHANGELOG.md
@@ -1,5 +1,39 @@
# @backstage/plugin-search-backend-module-catalog
+## 0.1.7-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
## 0.1.7-next.2
### Patch Changes
diff --git a/plugins/search-backend-module-catalog/package.json b/plugins/search-backend-module-catalog/package.json
index 85fc0dd645..bb1955dcdd 100644
--- a/plugins/search-backend-module-catalog/package.json
+++ b/plugins/search-backend-module-catalog/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-search-backend-module-catalog",
"description": "A module for the search backend that exports catalog modules",
- "version": "0.1.7-next.2",
+ "version": "0.1.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/search-backend-module-elasticsearch/CHANGELOG.md b/plugins/search-backend-module-elasticsearch/CHANGELOG.md
index 3e2af01514..9a78d60628 100644
--- a/plugins/search-backend-module-elasticsearch/CHANGELOG.md
+++ b/plugins/search-backend-module-elasticsearch/CHANGELOG.md
@@ -1,5 +1,33 @@
# @backstage/plugin-search-backend-module-elasticsearch
+## 1.3.6-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/integration-aws-node@0.1.6-next.2
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
## 1.3.6-next.2
### Patch Changes
diff --git a/plugins/search-backend-module-elasticsearch/package.json b/plugins/search-backend-module-elasticsearch/package.json
index 6b8bb114b2..88fa047d48 100644
--- a/plugins/search-backend-module-elasticsearch/package.json
+++ b/plugins/search-backend-module-elasticsearch/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-search-backend-module-elasticsearch",
"description": "A module for the search backend that implements search using ElasticSearch",
- "version": "1.3.6-next.2",
+ "version": "1.3.6-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/search-backend-module-explore/CHANGELOG.md b/plugins/search-backend-module-explore/CHANGELOG.md
index c1de962a4e..07ff1c49ac 100644
--- a/plugins/search-backend-module-explore/CHANGELOG.md
+++ b/plugins/search-backend-module-explore/CHANGELOG.md
@@ -1,5 +1,34 @@
# @backstage/plugin-search-backend-module-explore
+## 0.1.7-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-explore-common@0.0.2-next.0
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
## 0.1.7-next.2
### Patch Changes
diff --git a/plugins/search-backend-module-explore/package.json b/plugins/search-backend-module-explore/package.json
index ec11f60795..cbad376fa3 100644
--- a/plugins/search-backend-module-explore/package.json
+++ b/plugins/search-backend-module-explore/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-search-backend-module-explore",
"description": "A module for the search backend that exports explore modules",
- "version": "0.1.7-next.2",
+ "version": "0.1.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/search-backend-module-pg/CHANGELOG.md b/plugins/search-backend-module-pg/CHANGELOG.md
index ea6c62d47c..bb40f260f6 100644
--- a/plugins/search-backend-module-pg/CHANGELOG.md
+++ b/plugins/search-backend-module-pg/CHANGELOG.md
@@ -1,5 +1,32 @@
# @backstage/plugin-search-backend-module-pg
+## 0.5.12-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
## 0.5.12-next.2
### Patch Changes
diff --git a/plugins/search-backend-module-pg/package.json b/plugins/search-backend-module-pg/package.json
index 5d0137a60f..b03c4aaa59 100644
--- a/plugins/search-backend-module-pg/package.json
+++ b/plugins/search-backend-module-pg/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-search-backend-module-pg",
"description": "A module for the search backend that implements search using PostgreSQL",
- "version": "0.5.12-next.2",
+ "version": "0.5.12-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/search-backend-module-techdocs/CHANGELOG.md b/plugins/search-backend-module-techdocs/CHANGELOG.md
index 8ee45e6bbf..bc05c65a8f 100644
--- a/plugins/search-backend-module-techdocs/CHANGELOG.md
+++ b/plugins/search-backend-module-techdocs/CHANGELOG.md
@@ -1,5 +1,39 @@
# @backstage/plugin-search-backend-module-techdocs
+## 0.1.7-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+ - @backstage/plugin-techdocs-node@1.8.0-next.3
+
## 0.1.7-next.2
### Patch Changes
diff --git a/plugins/search-backend-module-techdocs/package.json b/plugins/search-backend-module-techdocs/package.json
index 3af9ae2f70..27b3e7cc0c 100644
--- a/plugins/search-backend-module-techdocs/package.json
+++ b/plugins/search-backend-module-techdocs/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-search-backend-module-techdocs",
"description": "A module for the search backend that exports techdocs modules",
- "version": "0.1.7-next.2",
+ "version": "0.1.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/search-backend-node/CHANGELOG.md b/plugins/search-backend-node/CHANGELOG.md
index b8d902d729..6ac94a70f8 100644
--- a/plugins/search-backend-node/CHANGELOG.md
+++ b/plugins/search-backend-node/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-search-backend-node
+## 1.2.7-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+
## 1.2.7-next.2
### Patch Changes
diff --git a/plugins/search-backend-node/package.json b/plugins/search-backend-node/package.json
index 0a6379d529..86a8ca8f7c 100644
--- a/plugins/search-backend-node/package.json
+++ b/plugins/search-backend-node/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-search-backend-node",
"description": "A library for Backstage backend plugins that want to interact with the search backend plugin",
- "version": "1.2.7-next.2",
+ "version": "1.2.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/search-backend/CHANGELOG.md b/plugins/search-backend/CHANGELOG.md
index 553fd3319d..7ecb0c0e0f 100644
--- a/plugins/search-backend/CHANGELOG.md
+++ b/plugins/search-backend/CHANGELOG.md
@@ -1,5 +1,38 @@
# @backstage/plugin-search-backend
+## 1.4.3-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-openapi-utils@0.0.4-next.0
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
## 1.4.3-next.2
### Patch Changes
diff --git a/plugins/search-backend/package.json b/plugins/search-backend/package.json
index 85d4ae8da2..cb0248798a 100644
--- a/plugins/search-backend/package.json
+++ b/plugins/search-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-search-backend",
"description": "The Backstage backend plugin that provides your backstage app with search",
- "version": "1.4.3-next.2",
+ "version": "1.4.3-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/search-common/CHANGELOG.md b/plugins/search-common/CHANGELOG.md
index 0f01e01dc3..bbb5a5c1c4 100644
--- a/plugins/search-common/CHANGELOG.md
+++ b/plugins/search-common/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-search-common
+## 1.2.6-next.2
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/types@1.1.1-next.0
+
## 1.2.6-next.1
### Patch Changes
diff --git a/plugins/search-common/package.json b/plugins/search-common/package.json
index d34549b4de..28948ce8a0 100644
--- a/plugins/search-common/package.json
+++ b/plugins/search-common/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-search-common",
"description": "Common functionalities for Search, to be shared between various search-enabled plugins",
- "version": "1.2.6-next.1",
+ "version": "1.2.6-next.2",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
diff --git a/plugins/search-react/CHANGELOG.md b/plugins/search-react/CHANGELOG.md
index 7056b00fc6..4e9c8329c0 100644
--- a/plugins/search-react/CHANGELOG.md
+++ b/plugins/search-react/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-search-react
+## 1.7.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
## 1.7.0-next.2
### Patch Changes
diff --git a/plugins/search-react/package.json b/plugins/search-react/package.json
index 4df70df020..f47306839a 100644
--- a/plugins/search-react/package.json
+++ b/plugins/search-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-search-react",
- "version": "1.7.0-next.2",
+ "version": "1.7.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/search/CHANGELOG.md b/plugins/search/CHANGELOG.md
index f0273d7ac6..167e23ae02 100644
--- a/plugins/search/CHANGELOG.md
+++ b/plugins/search/CHANGELOG.md
@@ -1,5 +1,23 @@
# @backstage/plugin-search
+## 1.4.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
## 1.4.0-next.2
### Patch Changes
diff --git a/plugins/search/package.json b/plugins/search/package.json
index 5d3a75ec9a..5da89dd9fe 100644
--- a/plugins/search/package.json
+++ b/plugins/search/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-search",
"description": "The Backstage plugin that provides your backstage app with search",
- "version": "1.4.0-next.2",
+ "version": "1.4.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/search/src/components/SearchModal/useSearchModal.test.tsx b/plugins/search/src/components/SearchModal/useSearchModal.test.tsx
index 0de41e3589..e21f864ac2 100644
--- a/plugins/search/src/components/SearchModal/useSearchModal.test.tsx
+++ b/plugins/search/src/components/SearchModal/useSearchModal.test.tsx
@@ -85,7 +85,7 @@ describe('useSearchModal', () => {
const history = createMemoryHistory({ initialEntries: ['/'] });
const rendered = renderHook(() => useSearchModal(true), {
- wrapper: ({ children }) => (
+ wrapper: ({ children }: React.PropsWithChildren<{}>) => (
{children}
diff --git a/plugins/sentry/CHANGELOG.md b/plugins/sentry/CHANGELOG.md
index 416b18da39..0456807346 100644
--- a/plugins/sentry/CHANGELOG.md
+++ b/plugins/sentry/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-sentry
+## 0.5.9-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.5.9-next.2
### Patch Changes
diff --git a/plugins/sentry/package.json b/plugins/sentry/package.json
index 978ec6be9f..ce0c6d03b9 100644
--- a/plugins/sentry/package.json
+++ b/plugins/sentry/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-sentry",
"description": "A Backstage plugin that integrates towards Sentry",
- "version": "0.5.9-next.2",
+ "version": "0.5.9-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/shortcuts/CHANGELOG.md b/plugins/shortcuts/CHANGELOG.md
index 79d41fd38b..335b4ded55 100644
--- a/plugins/shortcuts/CHANGELOG.md
+++ b/plugins/shortcuts/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-shortcuts
+## 0.3.14-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
## 0.3.14-next.2
### Patch Changes
diff --git a/plugins/shortcuts/package.json b/plugins/shortcuts/package.json
index 8f27dc7e06..835316e26e 100644
--- a/plugins/shortcuts/package.json
+++ b/plugins/shortcuts/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-shortcuts",
"description": "A Backstage plugin that provides a shortcuts feature to the sidebar",
- "version": "0.3.14-next.2",
+ "version": "0.3.14-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/sonarqube-backend/CHANGELOG.md b/plugins/sonarqube-backend/CHANGELOG.md
index 48305bc1f0..7e36170ac3 100644
--- a/plugins/sonarqube-backend/CHANGELOG.md
+++ b/plugins/sonarqube-backend/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-sonarqube-backend
+## 0.2.5-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.2.5-next.2
### Patch Changes
diff --git a/plugins/sonarqube-backend/package.json b/plugins/sonarqube-backend/package.json
index 0b0c7f7257..ec5a2ed887 100644
--- a/plugins/sonarqube-backend/package.json
+++ b/plugins/sonarqube-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-sonarqube-backend",
- "version": "0.2.5-next.2",
+ "version": "0.2.5-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/sonarqube-react/CHANGELOG.md b/plugins/sonarqube-react/CHANGELOG.md
index d0ac62b473..d7a31b9b0c 100644
--- a/plugins/sonarqube-react/CHANGELOG.md
+++ b/plugins/sonarqube-react/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-sonarqube-react
+## 0.1.8-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+
## 0.1.8-next.2
### Patch Changes
diff --git a/plugins/sonarqube-react/package.json b/plugins/sonarqube-react/package.json
index 904dddfd2c..aadb4b7c70 100644
--- a/plugins/sonarqube-react/package.json
+++ b/plugins/sonarqube-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-sonarqube-react",
- "version": "0.1.8-next.2",
+ "version": "0.1.8-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/sonarqube/CHANGELOG.md b/plugins/sonarqube/CHANGELOG.md
index bd9b50157f..3c46ea4bf4 100644
--- a/plugins/sonarqube/CHANGELOG.md
+++ b/plugins/sonarqube/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-sonarqube
+## 0.7.5-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-sonarqube-react@0.1.8-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.7.5-next.2
### Patch Changes
diff --git a/plugins/sonarqube/package.json b/plugins/sonarqube/package.json
index 77a25900e5..5ccd9cb66b 100644
--- a/plugins/sonarqube/package.json
+++ b/plugins/sonarqube/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-sonarqube",
"description": "",
- "version": "0.7.5-next.2",
+ "version": "0.7.5-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/splunk-on-call/CHANGELOG.md b/plugins/splunk-on-call/CHANGELOG.md
index 2f54bb26d2..61f6e1ca54 100644
--- a/plugins/splunk-on-call/CHANGELOG.md
+++ b/plugins/splunk-on-call/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-splunk-on-call
+## 0.4.13-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.4.13-next.2
### Patch Changes
diff --git a/plugins/splunk-on-call/package.json b/plugins/splunk-on-call/package.json
index 7cd06f330f..66966873e2 100644
--- a/plugins/splunk-on-call/package.json
+++ b/plugins/splunk-on-call/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-splunk-on-call",
"description": "A Backstage plugin that integrates towards Splunk On-Call",
- "version": "0.4.13-next.2",
+ "version": "0.4.13-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/stack-overflow-backend/CHANGELOG.md b/plugins/stack-overflow-backend/CHANGELOG.md
index c94ffbe6d9..29e362e898 100644
--- a/plugins/stack-overflow-backend/CHANGELOG.md
+++ b/plugins/stack-overflow-backend/CHANGELOG.md
@@ -1,5 +1,14 @@
# @backstage/plugin-stack-overflow-backend
+## 0.2.7-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-common@0.19.5-next.3
+
## 0.2.7-next.2
### Patch Changes
diff --git a/plugins/stack-overflow-backend/package.json b/plugins/stack-overflow-backend/package.json
index 371a0929d5..a1ae36953d 100644
--- a/plugins/stack-overflow-backend/package.json
+++ b/plugins/stack-overflow-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-stack-overflow-backend",
- "version": "0.2.7-next.2",
+ "version": "0.2.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/stack-overflow/CHANGELOG.md b/plugins/stack-overflow/CHANGELOG.md
index 9ef51f0c83..8cb485fe7a 100644
--- a/plugins/stack-overflow/CHANGELOG.md
+++ b/plugins/stack-overflow/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-stack-overflow
+## 0.1.20-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/plugin-home-react@0.1.3-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.20-next.2
### Patch Changes
diff --git a/plugins/stack-overflow/package.json b/plugins/stack-overflow/package.json
index 7f06dac714..31af9b9f19 100644
--- a/plugins/stack-overflow/package.json
+++ b/plugins/stack-overflow/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-stack-overflow",
- "version": "0.1.20-next.2",
+ "version": "0.1.20-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/stackstorm/CHANGELOG.md b/plugins/stackstorm/CHANGELOG.md
index f92904b323..3f868aedab 100644
--- a/plugins/stackstorm/CHANGELOG.md
+++ b/plugins/stackstorm/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-stackstorm
+## 0.1.6-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.6-next.2
### Patch Changes
diff --git a/plugins/stackstorm/package.json b/plugins/stackstorm/package.json
index 5e93c3e5a6..2b34f99b21 100644
--- a/plugins/stackstorm/package.json
+++ b/plugins/stackstorm/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-stackstorm",
"description": "A Backstage plugin that integrates towards StackStorm",
- "version": "0.1.6-next.2",
+ "version": "0.1.6-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md b/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md
index 313fd66fdc..1ee3a75337 100644
--- a/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md
+++ b/plugins/tech-insights-backend-module-jsonfc/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-tech-insights-backend-module-jsonfc
+## 0.1.35-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-tech-insights-common@0.2.12-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-tech-insights-node@0.4.9-next.3
+
## 0.1.35-next.2
### Patch Changes
diff --git a/plugins/tech-insights-backend-module-jsonfc/package.json b/plugins/tech-insights-backend-module-jsonfc/package.json
index a06234a52b..a4c3fd5d15 100644
--- a/plugins/tech-insights-backend-module-jsonfc/package.json
+++ b/plugins/tech-insights-backend-module-jsonfc/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-tech-insights-backend-module-jsonfc",
- "version": "0.1.35-next.2",
+ "version": "0.1.35-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/tech-insights-backend/CHANGELOG.md b/plugins/tech-insights-backend/CHANGELOG.md
index 32da458286..f1d5f12e59 100644
--- a/plugins/tech-insights-backend/CHANGELOG.md
+++ b/plugins/tech-insights-backend/CHANGELOG.md
@@ -1,5 +1,20 @@
# @backstage/plugin-tech-insights-backend
+## 0.5.17-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-tech-insights-common@0.2.12-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+ - @backstage/plugin-tech-insights-node@0.4.9-next.3
+
## 0.5.17-next.2
### Patch Changes
diff --git a/plugins/tech-insights-backend/package.json b/plugins/tech-insights-backend/package.json
index 761e1f744d..379d87ca42 100644
--- a/plugins/tech-insights-backend/package.json
+++ b/plugins/tech-insights-backend/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-tech-insights-backend",
- "version": "0.5.17-next.2",
+ "version": "0.5.17-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/tech-insights-common/CHANGELOG.md b/plugins/tech-insights-common/CHANGELOG.md
index b0d1bc7573..ad2e56bddd 100644
--- a/plugins/tech-insights-common/CHANGELOG.md
+++ b/plugins/tech-insights-common/CHANGELOG.md
@@ -1,5 +1,13 @@
# @backstage/plugin-tech-insights-common
+## 0.2.12-next.0
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/types@1.1.1-next.0
+
## 0.2.11
### Patch Changes
diff --git a/plugins/tech-insights-common/package.json b/plugins/tech-insights-common/package.json
index aa859e23bb..9448b111c3 100644
--- a/plugins/tech-insights-common/package.json
+++ b/plugins/tech-insights-common/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-tech-insights-common",
- "version": "0.2.11",
+ "version": "0.2.12-next.0",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/tech-insights-node/CHANGELOG.md b/plugins/tech-insights-node/CHANGELOG.md
index 7b9721fee6..af4274cd76 100644
--- a/plugins/tech-insights-node/CHANGELOG.md
+++ b/plugins/tech-insights-node/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-tech-insights-node
+## 0.4.9-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/plugin-tech-insights-common@0.2.12-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+
## 0.4.9-next.2
### Patch Changes
diff --git a/plugins/tech-insights-node/package.json b/plugins/tech-insights-node/package.json
index 42dc59375d..b012c51298 100644
--- a/plugins/tech-insights-node/package.json
+++ b/plugins/tech-insights-node/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-tech-insights-node",
- "version": "0.4.9-next.2",
+ "version": "0.4.9-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/tech-insights/CHANGELOG.md b/plugins/tech-insights/CHANGELOG.md
index 19615326cb..065efabf54 100644
--- a/plugins/tech-insights/CHANGELOG.md
+++ b/plugins/tech-insights/CHANGELOG.md
@@ -1,5 +1,20 @@
# @backstage/plugin-tech-insights
+## 0.3.16-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-tech-insights-common@0.2.12-next.0
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
## 0.3.16-next.2
### Patch Changes
diff --git a/plugins/tech-insights/package.json b/plugins/tech-insights/package.json
index 840f357fcf..c75f52e06c 100644
--- a/plugins/tech-insights/package.json
+++ b/plugins/tech-insights/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-tech-insights",
- "version": "0.3.16-next.2",
+ "version": "0.3.16-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/tech-radar/CHANGELOG.md b/plugins/tech-radar/CHANGELOG.md
index 813f59af0c..f37b791962 100644
--- a/plugins/tech-radar/CHANGELOG.md
+++ b/plugins/tech-radar/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-tech-radar
+## 0.6.8-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- c357f62052af: Fixed `RadarTimeline` text formatting.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.6.8-next.2
### Patch Changes
diff --git a/plugins/tech-radar/package.json b/plugins/tech-radar/package.json
index efd18745bf..1b048f49cd 100644
--- a/plugins/tech-radar/package.json
+++ b/plugins/tech-radar/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-tech-radar",
"description": "A Backstage plugin that lets you display a Tech Radar for your organization",
- "version": "0.6.8-next.2",
+ "version": "0.6.8-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/tech-radar/src/components/RadarTimeline/RadarTimeline.tsx b/plugins/tech-radar/src/components/RadarTimeline/RadarTimeline.tsx
index 555873cf94..e54c4a499e 100644
--- a/plugins/tech-radar/src/components/RadarTimeline/RadarTimeline.tsx
+++ b/plugins/tech-radar/src/components/RadarTimeline/RadarTimeline.tsx
@@ -76,10 +76,10 @@ const RadarTimeline = (props: Props): JSX.Element => {
''
)}
-
+
{timeEntry.ring.name ? timeEntry.ring.name : ''}
-
+
{timeEntry.date.toLocaleDateString()
? timeEntry.date.toLocaleDateString()
: ''}
diff --git a/plugins/techdocs-addons-test-utils/CHANGELOG.md b/plugins/techdocs-addons-test-utils/CHANGELOG.md
index 0af47f3ee8..05f7d05b40 100644
--- a/plugins/techdocs-addons-test-utils/CHANGELOG.md
+++ b/plugins/techdocs-addons-test-utils/CHANGELOG.md
@@ -1,5 +1,22 @@
# @backstage/plugin-techdocs-addons-test-utils
+## 1.0.21-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/test-utils@1.4.3-next.3
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog@1.13.0-next.3
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/plugin-techdocs@1.7.0-next.3
+ - @backstage/plugin-techdocs-react@1.1.10-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 1.0.21-next.2
### Patch Changes
diff --git a/plugins/techdocs-addons-test-utils/package.json b/plugins/techdocs-addons-test-utils/package.json
index 7d9d3e4a31..98dfaa5e33 100644
--- a/plugins/techdocs-addons-test-utils/package.json
+++ b/plugins/techdocs-addons-test-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@backstage/plugin-techdocs-addons-test-utils",
- "version": "1.0.21-next.2",
+ "version": "1.0.21-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/techdocs-backend/CHANGELOG.md b/plugins/techdocs-backend/CHANGELOG.md
index 52676de3b0..edfdef0aae 100644
--- a/plugins/techdocs-backend/CHANGELOG.md
+++ b/plugins/techdocs-backend/CHANGELOG.md
@@ -1,5 +1,41 @@
# @backstage/plugin-techdocs-backend
+## 1.7.0-next.3
+
+### Patch Changes
+
+- 60af8017dd84: Expand techdocs.publisher.type with `googleGcs`,`awsS3`,`azureBlobStorage` and `openStackSwift`
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- a8a614ba0d07: Minor `package.json` update.
+- Updated dependencies
+ - @backstage/plugin-search-backend-module-techdocs@0.1.7-next.3
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/plugin-catalog-common@1.0.16-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-techdocs-node@1.8.0-next.3
+
## 1.7.0-next.2
### Patch Changes
diff --git a/plugins/techdocs-backend/package.json b/plugins/techdocs-backend/package.json
index b56ee004dd..c55254e533 100644
--- a/plugins/techdocs-backend/package.json
+++ b/plugins/techdocs-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-techdocs-backend",
"description": "The Backstage backend plugin that renders technical documentation for your components",
- "version": "1.7.0-next.2",
+ "version": "1.7.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/techdocs-module-addons-contrib/CHANGELOG.md b/plugins/techdocs-module-addons-contrib/CHANGELOG.md
index 5ac5acaa93..85643f7302 100644
--- a/plugins/techdocs-module-addons-contrib/CHANGELOG.md
+++ b/plugins/techdocs-module-addons-contrib/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-techdocs-module-addons-contrib
+## 1.1.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-techdocs-react@1.1.10-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 1.1.0-next.2
### Patch Changes
diff --git a/plugins/techdocs-module-addons-contrib/package.json b/plugins/techdocs-module-addons-contrib/package.json
index 869a9f955c..4915d7bf04 100644
--- a/plugins/techdocs-module-addons-contrib/package.json
+++ b/plugins/techdocs-module-addons-contrib/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-techdocs-module-addons-contrib",
"description": "Plugin module for contributed TechDocs Addons",
- "version": "1.1.0-next.2",
+ "version": "1.1.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/techdocs-node/CHANGELOG.md b/plugins/techdocs-node/CHANGELOG.md
index a241491d66..06d4b405cb 100644
--- a/plugins/techdocs-node/CHANGELOG.md
+++ b/plugins/techdocs-node/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-techdocs-node
+## 1.8.0-next.3
+
+### Patch Changes
+
+- 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/plugin-search-common@1.2.6-next.2
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/integration-aws-node@0.1.6-next.2
+
## 1.8.0-next.2
### Patch Changes
diff --git a/plugins/techdocs-node/package.json b/plugins/techdocs-node/package.json
index 34997de9d9..7778555012 100644
--- a/plugins/techdocs-node/package.json
+++ b/plugins/techdocs-node/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-techdocs-node",
"description": "Common node.js functionalities for TechDocs, to be shared between techdocs-backend plugin and techdocs-cli",
- "version": "1.8.0-next.2",
+ "version": "1.8.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"publishConfig": {
diff --git a/plugins/techdocs-react/CHANGELOG.md b/plugins/techdocs-react/CHANGELOG.md
index 436e5faf3a..41422e0f0f 100644
--- a/plugins/techdocs-react/CHANGELOG.md
+++ b/plugins/techdocs-react/CHANGELOG.md
@@ -1,5 +1,17 @@
# @backstage/plugin-techdocs-react
+## 1.1.10-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/version-bridge@1.0.5-next.0
+
## 1.1.10-next.2
### Patch Changes
diff --git a/plugins/techdocs-react/package.json b/plugins/techdocs-react/package.json
index 81212ea313..8d0031be90 100644
--- a/plugins/techdocs-react/package.json
+++ b/plugins/techdocs-react/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-techdocs-react",
"description": "Shared frontend utilities for TechDocs and Addons",
- "version": "1.1.10-next.2",
+ "version": "1.1.10-next.3",
"publishConfig": {
"access": "public",
"main": "dist/index.esm.js",
diff --git a/plugins/techdocs/CHANGELOG.md b/plugins/techdocs/CHANGELOG.md
index 83647e1ec6..5cdf098ec9 100644
--- a/plugins/techdocs/CHANGELOG.md
+++ b/plugins/techdocs/CHANGELOG.md
@@ -1,5 +1,24 @@
# @backstage/plugin-techdocs
+## 1.7.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/integration@1.7.0-next.3
+ - @backstage/integration-react@1.1.19-next.3
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/plugin-search-react@1.7.0-next.3
+ - @backstage/plugin-techdocs-react@1.1.10-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 1.7.0-next.2
### Minor Changes
diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json
index ce90da9c0a..d61fb856d3 100644
--- a/plugins/techdocs/package.json
+++ b/plugins/techdocs/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-techdocs",
"description": "The Backstage plugin that renders technical documentation for your components",
- "version": "1.7.0-next.2",
+ "version": "1.7.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/todo-backend/CHANGELOG.md b/plugins/todo-backend/CHANGELOG.md
index f5f6b0d926..9084bf6c85 100644
--- a/plugins/todo-backend/CHANGELOG.md
+++ b/plugins/todo-backend/CHANGELOG.md
@@ -1,5 +1,38 @@
# @backstage/plugin-todo-backend
+## 0.3.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-client@1.4.4-next.2
+ - @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/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-openapi-utils@0.0.4-next.0
+ - @backstage/plugin-catalog-node@1.4.4-next.3
+
## 0.2.3-next.2
### Patch Changes
diff --git a/plugins/todo-backend/package.json b/plugins/todo-backend/package.json
index 5168b44035..f82d28ef1f 100644
--- a/plugins/todo-backend/package.json
+++ b/plugins/todo-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-todo-backend",
"description": "A Backstage backend plugin that lets you browse TODO comments in your source code",
- "version": "0.2.3-next.2",
+ "version": "0.3.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/todo/CHANGELOG.md b/plugins/todo/CHANGELOG.md
index b253514085..9837d02444 100644
--- a/plugins/todo/CHANGELOG.md
+++ b/plugins/todo/CHANGELOG.md
@@ -1,5 +1,18 @@
# @backstage/plugin-todo
+## 0.2.26-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.26-next.2
### Patch Changes
diff --git a/plugins/todo/package.json b/plugins/todo/package.json
index 5037f47f34..6d83aaa9c1 100644
--- a/plugins/todo/package.json
+++ b/plugins/todo/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-todo",
"description": "A Backstage plugin that lets you browse TODO comments in your source code",
- "version": "0.2.26-next.2",
+ "version": "0.2.26-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/user-settings-backend/CHANGELOG.md b/plugins/user-settings-backend/CHANGELOG.md
index 67d2a07479..4b705834f5 100644
--- a/plugins/user-settings-backend/CHANGELOG.md
+++ b/plugins/user-settings-backend/CHANGELOG.md
@@ -1,5 +1,35 @@
# @backstage/plugin-user-settings-backend
+## 0.2.0-next.3
+
+### Minor Changes
+
+- 71114ac50e02: **BREAKING**: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
## 0.1.15-next.2
### Patch Changes
diff --git a/plugins/user-settings-backend/package.json b/plugins/user-settings-backend/package.json
index 2fc9b8955d..59b6c8e8bf 100644
--- a/plugins/user-settings-backend/package.json
+++ b/plugins/user-settings-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-user-settings-backend",
"description": "The Backstage backend plugin to manage user settings",
- "version": "0.1.15-next.2",
+ "version": "0.2.0-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/user-settings/CHANGELOG.md b/plugins/user-settings/CHANGELOG.md
index 698bd082b8..8e6c68d270 100644
--- a/plugins/user-settings/CHANGELOG.md
+++ b/plugins/user-settings/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-user-settings
+## 0.7.9-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-app-api@1.10.0-next.3
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+ - @backstage/types@1.1.1-next.0
+
## 0.7.9-next.2
### Patch Changes
diff --git a/plugins/user-settings/package.json b/plugins/user-settings/package.json
index b522dafe86..db2dad223a 100644
--- a/plugins/user-settings/package.json
+++ b/plugins/user-settings/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-user-settings",
"description": "A Backstage plugin that provides a settings page",
- "version": "0.7.9-next.2",
+ "version": "0.7.9-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/vault-backend/CHANGELOG.md b/plugins/vault-backend/CHANGELOG.md
index a9cfdd9b99..9590c20875 100644
--- a/plugins/vault-backend/CHANGELOG.md
+++ b/plugins/vault-backend/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-vault-backend
+## 0.3.7-next.3
+
+### Patch Changes
+
+- 858a18800870: Added ability to override vault secret engine value on catalog entity level using annotation `vault.io/secrets-engine`
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-tasks@0.5.8-next.3
+
## 0.3.7-next.2
### Patch Changes
diff --git a/plugins/vault-backend/README.md b/plugins/vault-backend/README.md
index c1b49f623a..8c70cfd24a 100644
--- a/plugins/vault-backend/README.md
+++ b/plugins/vault-backend/README.md
@@ -66,7 +66,7 @@ To get started, first you need a running instance of Vault. You can follow [this
baseUrl: http://your-internal-vault-url.svc
publicUrl: https://your-vault-url.example.com
token:
- secretEngine: 'customSecretEngine' # Optional. By default it uses 'secrets'
+ secretEngine: 'customSecretEngine' # Optional. By default it uses 'secrets'. Can be overwritten by the annotation of the entity
kvVersion: # Optional. The K/V version that your instance is using. The available options are '1' or '2'
```
@@ -106,6 +106,20 @@ The path is relative to your secrets engine folder. So if you want to get the se
You will set the `vault.io/secret-path` to `test/backstage`. If the folder `backstage` contains other sub-folders, the plugin will fetch the secrets inside them and adapt the **View** and **Edit** URLs to point to the correct place.
+In case you need to support different secret engines for entities of the catalog you can provide optional annotation to the entity in `catalog-info.yaml`:
+
+```diff
+ apiVersion: backstage.io/v1alpha1
+ kind: Component
+ metadata:
+ # ...
+ annotations:
+ vault.io/secrets-path: path/to/secrets
++ vault.io/secrets-engine: customSecretEngine # Optional. By default it uses the 'secretEngine' value from your app-config.
+```
+
+That will overwrite the default secret engine from the configuration.
+
## Renew token
In a secure Vault instance, it's usual that the tokens are refreshed after some time. In order to always have a valid token to fetch the secrets, it might be necessary to execute a renew action after some time. By default this is deactivated, but it can be easily activated and configured to be executed periodically (hourly by default, but customizable by the user). In order to do that, modify your `src/plugins/vault.ts` file to look like this one:
@@ -138,6 +152,7 @@ export default async function createPlugin(
## Features
- List the secrets present in a certain path
+- Use different secret engines for different entities
- Open a link to view the secret
- Open a link to edit the secret
- Renew the token automatically with a defined periodicity
diff --git a/plugins/vault-backend/api-report.md b/plugins/vault-backend/api-report.md
index 4890e585b4..ebf9057b98 100644
--- a/plugins/vault-backend/api-report.md
+++ b/plugins/vault-backend/api-report.md
@@ -25,7 +25,12 @@ export interface RouterOptions {
// @public
export interface VaultApi {
getFrontendSecretsUrl(): string;
- listSecrets(secretPath: string): Promise;
+ listSecrets(
+ secretPath: string,
+ options?: {
+ secretEngine?: string;
+ },
+ ): Promise;
renewToken?(): Promise;
}
@@ -49,7 +54,12 @@ export class VaultClient implements VaultApi {
// (undocumented)
getFrontendSecretsUrl(): string;
// (undocumented)
- listSecrets(secretPath: string): Promise;
+ listSecrets(
+ secretPath: string,
+ options?: {
+ secretEngine?: string;
+ },
+ ): Promise;
// (undocumented)
renewToken(): Promise;
}
diff --git a/plugins/vault-backend/package.json b/plugins/vault-backend/package.json
index a20445febb..4fbd790b45 100644
--- a/plugins/vault-backend/package.json
+++ b/plugins/vault-backend/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-vault-backend",
"description": "A Backstage backend plugin that integrates towards Vault",
- "version": "0.3.7-next.2",
+ "version": "0.3.7-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/vault-backend/src/service/VaultBuilder.ts b/plugins/vault-backend/src/service/VaultBuilder.ts
index a61d99ac70..9856476c20 100644
--- a/plugins/vault-backend/src/service/VaultBuilder.ts
+++ b/plugins/vault-backend/src/service/VaultBuilder.ts
@@ -140,11 +140,18 @@ export class VaultBuilder {
router.get('/v1/secrets/:path', async (req, res) => {
const { path } = req.params;
+ const { engine } = req.query;
+
if (typeof path !== 'string') {
throw new InputError(`Invalid path: ${path}`);
}
+ if (engine && typeof engine !== 'string') {
+ throw new InputError(`Invalid engine: ${engine}`);
+ }
- const secrets = await vaultApi.listSecrets(path);
+ const secrets = await vaultApi.listSecrets(path, {
+ secretEngine: engine,
+ });
res.json({ items: secrets });
});
diff --git a/plugins/vault-backend/src/service/vaultApi.test.ts b/plugins/vault-backend/src/service/vaultApi.test.ts
index 1fb869ef60..47c7c5a252 100644
--- a/plugins/vault-backend/src/service/vaultApi.test.ts
+++ b/plugins/vault-backend/src/service/vaultApi.test.ts
@@ -21,6 +21,8 @@ import { VaultSecret, VaultClient, VaultSecretList } from './vaultApi';
import { ConfigReader } from '@backstage/config';
describe('VaultApi', () => {
+ let api: VaultClient;
+
const server = setupServer();
setupRequestMockHandlers(server);
@@ -43,20 +45,24 @@ describe('VaultApi', () => {
},
};
- const mockSecretsResult: VaultSecret[] = [
- {
- name: 'secret::one',
- path: 'test/success',
- editUrl: `${mockBaseUrl}/ui/vault/secrets/secrets/edit/test/success/secret::one`,
- showUrl: `${mockBaseUrl}/ui/vault/secrets/secrets/show/test/success/secret::one`,
- },
- {
- name: 'secret::two',
- path: 'test/success',
- editUrl: `${mockBaseUrl}/ui/vault/secrets/secrets/edit/test/success/secret::two`,
- showUrl: `${mockBaseUrl}/ui/vault/secrets/secrets/show/test/success/secret::two`,
- },
- ];
+ const mockSecretsResult = (
+ secretEngine: string = 'secrets',
+ ): VaultSecret[] => {
+ return [
+ {
+ name: 'secret::one',
+ path: 'test/success',
+ editUrl: `${mockBaseUrl}/ui/vault/secrets/${secretEngine}/edit/test/success/secret::one`,
+ showUrl: `${mockBaseUrl}/ui/vault/secrets/${secretEngine}/show/test/success/secret::one`,
+ },
+ {
+ name: 'secret::two',
+ path: 'test/success',
+ editUrl: `${mockBaseUrl}/ui/vault/secrets/${secretEngine}/edit/test/success/secret::two`,
+ showUrl: `${mockBaseUrl}/ui/vault/secrets/${secretEngine}/show/test/success/secret::two`,
+ },
+ ];
+ };
const setupHandlers = () => {
server.use(
@@ -66,6 +72,9 @@ describe('VaultApi', () => {
return res(ctx.json(mockListResult));
},
),
+ rest.get(`${mockBaseUrl}/v1/kv/metadata/test/success`, (_, res, ctx) => {
+ return res(ctx.json(mockListResult));
+ }),
rest.get(
`${mockBaseUrl}/v1/secrets/metadata/test/error`,
(_, res, ctx) => {
@@ -78,28 +87,33 @@ describe('VaultApi', () => {
);
};
- it('should return secrets', async () => {
+ beforeEach(() => {
setupHandlers();
- const api = new VaultClient({ config });
+ api = new VaultClient({ config });
+ });
+
+ it('should return secrets', async () => {
const secrets = await api.listSecrets('test/success');
- expect(secrets).toEqual(mockSecretsResult);
+ expect(secrets).toEqual(mockSecretsResult());
+ });
+
+ it('should return secrets for custom engine', async () => {
+ const secrets = await api.listSecrets('test/success', {
+ secretEngine: 'kv',
+ });
+ expect(secrets).toEqual(mockSecretsResult('kv'));
});
it('should return empty secret list', async () => {
- setupHandlers();
- const api = new VaultClient({ config });
const secrets = await api.listSecrets('test/error');
expect(secrets).toEqual([]);
});
it('should return success token renew', async () => {
- setupHandlers();
- const api = new VaultClient({ config });
expect(await api.renewToken()).toBe(undefined);
});
it('should render frontend url', () => {
- const api = new VaultClient({ config });
const url = api.getFrontendSecretsUrl();
expect(url).toEqual(`${mockBaseUrl}/ui/vault/secrets/secrets`);
});
diff --git a/plugins/vault-backend/src/service/vaultApi.ts b/plugins/vault-backend/src/service/vaultApi.ts
index b75ea76368..7c3ccc1d00 100644
--- a/plugins/vault-backend/src/service/vaultApi.ts
+++ b/plugins/vault-backend/src/service/vaultApi.ts
@@ -59,11 +59,19 @@ export interface VaultApi {
* Returns the URL to access the Vault UI with the defined config.
*/
getFrontendSecretsUrl(): string;
+
/**
* Returns a list of secrets used to show in a table.
* @param secretPath - The path where the secrets are stored in Vault
+ * @param options - Additional options to be passed to the Vault API, allows to override vault default settings in app config file
*/
- listSecrets(secretPath: string): Promise;
+ listSecrets(
+ secretPath: string,
+ options?: {
+ secretEngine?: string;
+ },
+ ): Promise;
+
/**
* Optional, to renew the token used to list the secrets. Throws an
* error if the token renewal went wrong.
@@ -115,11 +123,18 @@ export class VaultClient implements VaultApi {
return `${this.vaultConfig.baseUrl}/ui/vault/secrets/${this.vaultConfig.secretEngine}`;
}
- async listSecrets(secretPath: string): Promise {
+ async listSecrets(
+ secretPath: string,
+ options?: {
+ secretEngine?: string;
+ },
+ ): Promise {
+ const mount = options?.secretEngine || this.vaultConfig.secretEngine;
+
const listUrl =
this.vaultConfig.kvVersion === 2
- ? `v1/${this.vaultConfig.secretEngine}/metadata/${secretPath}`
- : `v1/${this.vaultConfig.secretEngine}/${secretPath}`;
+ ? `v1/${encodeURIComponent(mount)}/metadata/${secretPath}`
+ : `v1/${encodeURIComponent(mount)}/${secretPath}`;
const result = await this.limit(() =>
this.callApi(listUrl, { list: true }),
);
@@ -131,7 +146,9 @@ export class VaultClient implements VaultApi {
if (secret.endsWith('/')) {
secrets.push(
...(await this.limit(() =>
- this.listSecrets(`${secretPath}/${secret.slice(0, -1)}`),
+ this.listSecrets(`${secretPath}/${secret.slice(0, -1)}`, {
+ secretEngine: mount,
+ }),
)),
);
} else {
@@ -140,8 +157,12 @@ export class VaultClient implements VaultApi {
secrets.push({
name: secret,
path: secretPath,
- editUrl: `${vaultUrl}/ui/vault/secrets/${this.vaultConfig.secretEngine}/edit/${secretPath}/${secret}`,
- showUrl: `${vaultUrl}/ui/vault/secrets/${this.vaultConfig.secretEngine}/show/${secretPath}/${secret}`,
+ editUrl: `${vaultUrl}/ui/vault/secrets/${encodeURIComponent(
+ mount,
+ )}/edit/${secretPath}/${secret}`,
+ showUrl: `${vaultUrl}/ui/vault/secrets/${encodeURIComponent(
+ mount,
+ )}/show/${secretPath}/${secret}`,
});
}
}),
diff --git a/plugins/vault/CHANGELOG.md b/plugins/vault/CHANGELOG.md
index d7b6e14e2c..a8e194ff96 100644
--- a/plugins/vault/CHANGELOG.md
+++ b/plugins/vault/CHANGELOG.md
@@ -1,5 +1,19 @@
# @backstage/plugin-vault
+## 0.1.18-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 858a18800870: Added ability to override vault secret engine value on catalog entity level using annotation `vault.io/secrets-engine`
+- Updated dependencies
+ - @backstage/catalog-model@1.4.2-next.2
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-catalog-react@1.8.4-next.3
+ - @backstage/theme@0.4.2-next.0
+
## 0.1.18-next.2
### Patch Changes
diff --git a/plugins/vault/README.md b/plugins/vault/README.md
index 824293632f..ce2df6e47a 100644
--- a/plugins/vault/README.md
+++ b/plugins/vault/README.md
@@ -42,7 +42,7 @@ To get started, first you need a running instance of Vault. You can follow [this
vault:
baseUrl: http://your-vault-url
token:
- secretEngine: 'customSecretEngine' # Optional. By default it uses 'secrets'
+ secretEngine: 'customSecretEngine' # Optional. By default it uses 'secrets'. Can be overwritten by the annotation of the entity
kvVersion: # Optional. The K/V version that your instance is using. The available options are '1' or '2'
```
@@ -67,6 +67,7 @@ metadata:
# ...
annotations:
vault.io/secrets-path: path/to/secrets
+ vault.io/secrets-engine: customSecretEngine # Optional. By default it uses the 'secretEngine' value from your app-config.
```
The path is relative to your secrets engine folder. So if you want to get the secrets for backstage and you have the following directory structure:
@@ -86,9 +87,24 @@ If the annotation is missing for a certain component, then the card will show so

+In case you need to support different secret engines for entities of the catalog you can provide optional annotation to the entity in `catalog-info.yaml`:
+
+```diff
+ apiVersion: backstage.io/v1alpha1
+ kind: Component
+ metadata:
+ # ...
+ annotations:
+ vault.io/secrets-path: path/to/secrets
++ vault.io/secrets-engine: customSecretEngine # Optional. By default it uses 'secertEngine' value from configuration.
+```
+
+That will overwrite the default secret engine from the configuration.
+
## Features
- List the secrets present in a certain path
+- Use different secret engines for different components
- Open a link to view the secret
- Open a link to edit the secret
- Renew the token automatically with a defined periodicity
diff --git a/plugins/vault/api-report.md b/plugins/vault/api-report.md
index b654128bde..da13e2092d 100644
--- a/plugins/vault/api-report.md
+++ b/plugins/vault/api-report.md
@@ -21,7 +21,12 @@ export const VAULT_SECRET_PATH_ANNOTATION = 'vault.io/secrets-path';
// @public
export interface VaultApi {
- listSecrets(secretPath: string): Promise;
+ listSecrets(
+ secretPath: string,
+ options?: {
+ secretEngine?: string;
+ },
+ ): Promise;
}
// @public (undocumented)
diff --git a/plugins/vault/package.json b/plugins/vault/package.json
index f33973694d..b1a0909740 100644
--- a/plugins/vault/package.json
+++ b/plugins/vault/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-vault",
"description": "A Backstage plugin that integrates towards Vault",
- "version": "0.1.18-next.2",
+ "version": "0.1.18-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/plugins/vault/src/api.test.ts b/plugins/vault/src/api.test.ts
index ec88412303..eb122a92d1 100644
--- a/plugins/vault/src/api.test.ts
+++ b/plugins/vault/src/api.test.ts
@@ -21,6 +21,9 @@ import { VaultSecret, VaultClient } from './api';
import { UrlPatternDiscovery } from '@backstage/core-app-api';
describe('api', () => {
+ let api: VaultClient;
+ let fetchApiSpy: jest.SpyInstance>;
+
const server = setupServer();
setupRequestMockHandlers(server);
@@ -64,37 +67,50 @@ describe('api', () => {
);
};
- it('should return secrets', async () => {
+ beforeEach(() => {
+ jest.resetAllMocks();
+
setupHandlers();
- const api = new VaultClient({ discoveryApi, fetchApi });
+
+ api = new VaultClient({ discoveryApi, fetchApi });
+ fetchApiSpy = jest.spyOn(fetchApi, 'fetch');
+ });
+
+ it('should return secrets', async () => {
expect(await api.listSecrets('test/success')).toEqual(
mockSecretsResult.items,
);
+ expect(fetchApiSpy).toHaveBeenCalledWith(
+ `${mockBaseUrl}/v1/secrets/test%2Fsuccess?`,
+ expect.anything(),
+ );
+ });
+
+ it('should return secrets with custom engine', async () => {
+ expect(
+ await api.listSecrets('test/success', { secretEngine: 'kv' }),
+ ).toEqual(mockSecretsResult.items);
+ expect(fetchApiSpy).toHaveBeenCalledWith(
+ `${mockBaseUrl}/v1/secrets/test%2Fsuccess?engine=kv`,
+ expect.anything(),
+ );
});
it('should return empty secret list', async () => {
- setupHandlers();
- const api = new VaultClient({ discoveryApi, fetchApi });
expect(await api.listSecrets('test/empty')).toEqual([]);
});
it('should return all the secrets if no path defined', async () => {
- setupHandlers();
- const api = new VaultClient({ discoveryApi, fetchApi });
expect(await api.listSecrets('')).toEqual(mockSecretsResult.items);
});
it('should throw an error if the Vault API responds with an HTTP 404', async () => {
- setupHandlers();
- const api = new VaultClient({ discoveryApi, fetchApi });
await expect(api.listSecrets('test/not-found')).rejects.toThrow(
"No secrets found in path 'v1/secrets/test%2Fnot-found'",
);
});
it('should throw an error if the Vault API responds with a non-successful HTTP status code', async () => {
- setupHandlers();
- const api = new VaultClient({ discoveryApi, fetchApi });
await expect(api.listSecrets('test/error')).rejects.toThrow(
'Request failed with 400 Error',
);
diff --git a/plugins/vault/src/api.ts b/plugins/vault/src/api.ts
index d924336a2e..f01823ff22 100644
--- a/plugins/vault/src/api.ts
+++ b/plugins/vault/src/api.ts
@@ -46,8 +46,14 @@ export interface VaultApi {
/**
* Returns a list of secrets used to show in a table.
* @param secretPath - The path where the secrets are stored in Vault
+ * @param options - Additional options to be passed to the Vault API, allows to override vault default settings in app config file
*/
- listSecrets(secretPath: string): Promise;
+ listSecrets(
+ secretPath: string,
+ options?: {
+ secretEngine?: string;
+ },
+ ): Promise;
}
/**
@@ -90,10 +96,21 @@ export class VaultClient implements VaultApi {
throw await ResponseError.fromResponse(response);
}
- async listSecrets(secretPath: string): Promise {
+ async listSecrets(
+ secretPath: string,
+ options?: {
+ secretEngine?: string;
+ },
+ ): Promise {
+ const query: { [key in string]: any } = {};
+ const { secretEngine } = options || {};
+ if (secretEngine) {
+ query.engine = secretEngine;
+ }
+
const result = await this.callApi<{ items: VaultSecret[] }>(
`v1/secrets/${encodeURIComponent(secretPath)}`,
- {},
+ query,
);
return result.items;
}
diff --git a/plugins/vault/src/components/EntityVaultTable/EntityVaultTable.test.tsx b/plugins/vault/src/components/EntityVaultTable/EntityVaultTable.test.tsx
index e5bd5b43de..5e191df9eb 100644
--- a/plugins/vault/src/components/EntityVaultTable/EntityVaultTable.test.tsx
+++ b/plugins/vault/src/components/EntityVaultTable/EntityVaultTable.test.tsx
@@ -29,23 +29,31 @@ import { VaultSecret, vaultApiRef, VaultClient } from '../../api';
import { rest } from 'msw';
describe('EntityVaultTable', () => {
+ let vaultClient: VaultClient;
+ let apis: TestApiRegistry;
+ let listSecretsSpy: jest.SpyInstance>;
+
const server = setupServer();
setupRequestMockHandlers(server);
- let apis: TestApiRegistry;
const mockBaseUrl = 'https://api-vault.com/api/vault';
const discoveryApi = UrlPatternDiscovery.compile(mockBaseUrl);
const fetchApi = new MockFetchApi();
- const entity = (secretPath: string) => {
+ const entity = (secretPath: string, secretEngine?: string | undefined) => {
+ const annotations: Record = {
+ 'vault.io/secrets-path': secretPath,
+ };
+ if (secretEngine) {
+ annotations['vault.io/secrets-engine'] = secretEngine;
+ }
+
return {
apiVersion: 'backstage.io/v1alpha1',
kind: 'Component',
metadata: {
name: 'test',
description: 'This is the description',
- annotations: {
- 'vault.io/secrets-path': secretPath,
- },
+ annotations,
},
spec: {
lifecycle: 'production',
@@ -56,6 +64,7 @@ describe('EntityVaultTable', () => {
};
const entityOk = entity('test/success');
+ const entityOkWithEngine = entity('test/success', 'kv');
const entityEmpty = entity('test/empty');
const entityNotOk = entity('test/error');
@@ -91,10 +100,10 @@ describe('EntityVaultTable', () => {
};
beforeEach(() => {
- apis = TestApiRegistry.from([
- vaultApiRef,
- new VaultClient({ discoveryApi, fetchApi }),
- ]);
+ jest.resetAllMocks();
+ vaultClient = new VaultClient({ discoveryApi, fetchApi });
+ apis = TestApiRegistry.from([vaultApiRef, vaultClient]);
+ listSecretsSpy = jest.spyOn(vaultClient, 'listSecrets');
});
it('should render secrets', async () => {
@@ -107,6 +116,28 @@ describe('EntityVaultTable', () => {
expect(await rendered.findAllByText(/secret::one/)).toBeDefined();
expect(await rendered.findAllByText(/secret::two/)).toBeDefined();
+
+ expect(listSecretsSpy).toHaveBeenCalledTimes(1);
+ expect(listSecretsSpy).toHaveBeenCalledWith('test/success', {
+ secretEngine: undefined,
+ });
+ });
+
+ it('should render secrets with custom engine', async () => {
+ setupHandlers();
+ const rendered = await renderInTestApp(
+
+
+ ,
+ );
+
+ expect(await rendered.findAllByText(/secret::one/)).toBeDefined();
+ expect(await rendered.findAllByText(/secret::two/)).toBeDefined();
+
+ expect(listSecretsSpy).toHaveBeenCalledTimes(1);
+ expect(listSecretsSpy).toHaveBeenCalledWith('test/success', {
+ secretEngine: 'kv',
+ });
});
it('should render no secrets found', async () => {
diff --git a/plugins/vault/src/components/EntityVaultTable/EntityVaultTable.tsx b/plugins/vault/src/components/EntityVaultTable/EntityVaultTable.tsx
index 9191d54b0b..4d169611ca 100644
--- a/plugins/vault/src/components/EntityVaultTable/EntityVaultTable.tsx
+++ b/plugins/vault/src/components/EntityVaultTable/EntityVaultTable.tsx
@@ -23,27 +23,33 @@ import Visibility from '@material-ui/icons/Visibility';
import Alert from '@material-ui/lab/Alert';
import useAsync from 'react-use/lib/useAsync';
import { VaultSecret, vaultApiRef } from '../../api';
-import { VAULT_SECRET_PATH_ANNOTATION } from '../../constants';
+import {
+ VAULT_SECRET_ENGINE_ANNOTATION,
+ VAULT_SECRET_PATH_ANNOTATION,
+} from '../../constants';
-export const vaultSecretPath = (entity: Entity) => {
+export const vaultSecretConfig = (entity: Entity) => {
const secretPath =
entity.metadata.annotations?.[VAULT_SECRET_PATH_ANNOTATION];
+ const secretEngine =
+ entity.metadata.annotations?.[VAULT_SECRET_ENGINE_ANNOTATION];
- return { secretPath };
+ return { secretPath, secretEngine };
};
export const EntityVaultTable = ({ entity }: { entity: Entity }) => {
const vaultApi = useApi(vaultApiRef);
- const { secretPath } = vaultSecretPath(entity);
+ const { secretPath, secretEngine } = vaultSecretConfig(entity);
if (!secretPath) {
throw Error(
`The secret path is undefined. Please, define the annotation ${VAULT_SECRET_PATH_ANNOTATION}`,
);
}
+
const { value, loading, error } = useAsync(async (): Promise<
VaultSecret[]
> => {
- return vaultApi.listSecrets(secretPath);
+ return vaultApi.listSecrets(secretPath, { secretEngine });
}, []);
const columns: TableColumn[] = [
diff --git a/plugins/vault/src/constants.ts b/plugins/vault/src/constants.ts
index 0d99c261d4..a71a1c104f 100644
--- a/plugins/vault/src/constants.ts
+++ b/plugins/vault/src/constants.ts
@@ -14,6 +14,10 @@
* limitations under the License.
*/
+/**
+ * @public
+ */
+export const VAULT_SECRET_ENGINE_ANNOTATION = 'vault.io/secrets-engine';
/**
* @public
*/
diff --git a/plugins/xcmetrics/CHANGELOG.md b/plugins/xcmetrics/CHANGELOG.md
index a68ba59435..ecf1aaf933 100644
--- a/plugins/xcmetrics/CHANGELOG.md
+++ b/plugins/xcmetrics/CHANGELOG.md
@@ -1,5 +1,16 @@
# @backstage/plugin-xcmetrics
+## 0.2.42-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/core-components@0.13.5-next.3
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/theme@0.4.2-next.0
+
## 0.2.42-next.2
### Patch Changes
diff --git a/plugins/xcmetrics/package.json b/plugins/xcmetrics/package.json
index 8404027de1..2adb3f0cbd 100644
--- a/plugins/xcmetrics/package.json
+++ b/plugins/xcmetrics/package.json
@@ -1,7 +1,7 @@
{
"name": "@backstage/plugin-xcmetrics",
"description": "A Backstage plugin that shows XCode build metrics for your components",
- "version": "0.2.42-next.2",
+ "version": "0.2.42-next.3",
"main": "src/index.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
diff --git a/storybook/yarn.lock b/storybook/yarn.lock
index c1519c75dc..0178e54cae 100644
--- a/storybook/yarn.lock
+++ b/storybook/yarn.lock
@@ -2840,90 +2840,90 @@ __metadata:
languageName: node
linkType: hard
-"@swc/core-darwin-arm64@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-darwin-arm64@npm:1.3.82"
+"@swc/core-darwin-arm64@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-darwin-arm64@npm:1.3.84"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"@swc/core-darwin-x64@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-darwin-x64@npm:1.3.82"
+"@swc/core-darwin-x64@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-darwin-x64@npm:1.3.84"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"@swc/core-linux-arm-gnueabihf@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.82"
+"@swc/core-linux-arm-gnueabihf@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.84"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
-"@swc/core-linux-arm64-gnu@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-arm64-gnu@npm:1.3.82"
+"@swc/core-linux-arm64-gnu@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-arm64-gnu@npm:1.3.84"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
-"@swc/core-linux-arm64-musl@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-arm64-musl@npm:1.3.82"
+"@swc/core-linux-arm64-musl@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-arm64-musl@npm:1.3.84"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
-"@swc/core-linux-x64-gnu@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-x64-gnu@npm:1.3.82"
+"@swc/core-linux-x64-gnu@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-x64-gnu@npm:1.3.84"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
-"@swc/core-linux-x64-musl@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-x64-musl@npm:1.3.82"
+"@swc/core-linux-x64-musl@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-x64-musl@npm:1.3.84"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
-"@swc/core-win32-arm64-msvc@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-win32-arm64-msvc@npm:1.3.82"
+"@swc/core-win32-arm64-msvc@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-win32-arm64-msvc@npm:1.3.84"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
-"@swc/core-win32-ia32-msvc@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-win32-ia32-msvc@npm:1.3.82"
+"@swc/core-win32-ia32-msvc@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-win32-ia32-msvc@npm:1.3.84"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
-"@swc/core-win32-x64-msvc@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-win32-x64-msvc@npm:1.3.82"
+"@swc/core-win32-x64-msvc@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-win32-x64-msvc@npm:1.3.84"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"@swc/core@npm:^1.3.46":
- version: 1.3.82
- resolution: "@swc/core@npm:1.3.82"
+ version: 1.3.84
+ resolution: "@swc/core@npm:1.3.84"
dependencies:
- "@swc/core-darwin-arm64": 1.3.82
- "@swc/core-darwin-x64": 1.3.82
- "@swc/core-linux-arm-gnueabihf": 1.3.82
- "@swc/core-linux-arm64-gnu": 1.3.82
- "@swc/core-linux-arm64-musl": 1.3.82
- "@swc/core-linux-x64-gnu": 1.3.82
- "@swc/core-linux-x64-musl": 1.3.82
- "@swc/core-win32-arm64-msvc": 1.3.82
- "@swc/core-win32-ia32-msvc": 1.3.82
- "@swc/core-win32-x64-msvc": 1.3.82
+ "@swc/core-darwin-arm64": 1.3.84
+ "@swc/core-darwin-x64": 1.3.84
+ "@swc/core-linux-arm-gnueabihf": 1.3.84
+ "@swc/core-linux-arm64-gnu": 1.3.84
+ "@swc/core-linux-arm64-musl": 1.3.84
+ "@swc/core-linux-x64-gnu": 1.3.84
+ "@swc/core-linux-x64-musl": 1.3.84
+ "@swc/core-win32-arm64-msvc": 1.3.84
+ "@swc/core-win32-ia32-msvc": 1.3.84
+ "@swc/core-win32-x64-msvc": 1.3.84
"@swc/types": ^0.1.4
peerDependencies:
"@swc/helpers": ^0.5.0
@@ -2951,7 +2951,7 @@ __metadata:
peerDependenciesMeta:
"@swc/helpers":
optional: true
- checksum: 4c4adbed22071c0af935129a6fe7cc35d1688a5c1a069efdd8c97740930fa7eaf324e75dc88634a4ea0520330f6c88101d5aa5cf7ed6e02d336cc46ee7131ea3
+ checksum: dee45823923c29dde579ed1121c4392c937826d575c87f62399ba7a0b27cacfeb05da97b65cf49a721a50127bb1e22ca5c07defa784ec2a47fed33e3498ef1b9
languageName: node
linkType: hard
diff --git a/yarn.lock b/yarn.lock
index 6efa788884..3bad15a7d1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4289,7 +4289,18 @@ __metadata:
languageName: unknown
linkType: soft
-"@backstage/errors@^1.1.5, @backstage/errors@^1.2.1, @backstage/errors@workspace:^, @backstage/errors@workspace:packages/errors":
+"@backstage/errors@npm:^1.1.5, @backstage/errors@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "@backstage/errors@npm:1.2.1"
+ dependencies:
+ "@backstage/types": ^1.1.0
+ cross-fetch: ^3.1.5
+ serialize-error: ^8.0.1
+ checksum: 67f7f9939af47e178c27d1a96282f4921b4ba8108917bb10e68dba1644a5f643cb87251346989dd402b333593cb7e658129256d80781b962add28f2a3efca0ea
+ languageName: node
+ linkType: hard
+
+"@backstage/errors@workspace:^, @backstage/errors@workspace:packages/errors":
version: 0.0.0-use.local
resolution: "@backstage/errors@workspace:packages/errors"
dependencies:
@@ -4317,10 +4328,13 @@ __metadata:
dependencies:
"@backstage/cli": "workspace:^"
"@backstage/config": "workspace:^"
+ "@backstage/core-app-api": "workspace:^"
+ "@backstage/core-components": "workspace:^"
"@backstage/core-plugin-api": "workspace:^"
"@backstage/frontend-plugin-api": "workspace:^"
"@backstage/plugin-graphiql": "workspace:^"
"@backstage/types": "workspace:^"
+ "@material-ui/core": ^4.12.4
"@testing-library/jest-dom": ^5.10.1
"@types/react": ^16.13.1 || ^17.0.0
lodash: ^4.17.21
@@ -4337,6 +4351,7 @@ __metadata:
"@backstage/cli": "workspace:^"
"@backstage/core-plugin-api": "workspace:^"
"@backstage/frontend-app-api": "workspace:^"
+ "@backstage/test-utils": "workspace:^"
"@backstage/types": "workspace:^"
"@testing-library/jest-dom": ^5.10.1
"@testing-library/react": ^12.1.3
@@ -4922,6 +4937,24 @@ __metadata:
languageName: unknown
linkType: soft
+"@backstage/plugin-auth-backend-module-oauth2-provider@workspace:^, @backstage/plugin-auth-backend-module-oauth2-provider@workspace:plugins/auth-backend-module-oauth2-provider":
+ version: 0.0.0-use.local
+ resolution: "@backstage/plugin-auth-backend-module-oauth2-provider@workspace:plugins/auth-backend-module-oauth2-provider"
+ dependencies:
+ "@backstage/backend-common": "workspace:^"
+ "@backstage/backend-defaults": "workspace:^"
+ "@backstage/backend-plugin-api": "workspace:^"
+ "@backstage/backend-test-utils": "workspace:^"
+ "@backstage/cli": "workspace:^"
+ "@backstage/plugin-auth-backend": "workspace:^"
+ "@backstage/plugin-auth-node": "workspace:^"
+ express: ^4.18.2
+ passport: ^0.6.0
+ passport-oauth2: ^1.6.1
+ supertest: ^6.3.3
+ languageName: unknown
+ linkType: soft
+
"@backstage/plugin-auth-backend@workspace:^, @backstage/plugin-auth-backend@workspace:plugins/auth-backend":
version: 0.0.0-use.local
resolution: "@backstage/plugin-auth-backend@workspace:plugins/auth-backend"
@@ -4939,6 +4972,7 @@ __metadata:
"@backstage/plugin-auth-backend-module-github-provider": "workspace:^"
"@backstage/plugin-auth-backend-module-gitlab-provider": "workspace:^"
"@backstage/plugin-auth-backend-module-google-provider": "workspace:^"
+ "@backstage/plugin-auth-backend-module-oauth2-provider": "workspace:^"
"@backstage/plugin-auth-node": "workspace:^"
"@backstage/plugin-catalog-node": "workspace:^"
"@backstage/types": "workspace:^"
@@ -5663,6 +5697,21 @@ __metadata:
languageName: unknown
linkType: soft
+"@backstage/plugin-catalog-backend-module-scaffolder-entity-model@workspace:^, @backstage/plugin-catalog-backend-module-scaffolder-entity-model@workspace:plugins/catalog-backend-module-scaffolder-entity-model":
+ version: 0.0.0-use.local
+ resolution: "@backstage/plugin-catalog-backend-module-scaffolder-entity-model@workspace:plugins/catalog-backend-module-scaffolder-entity-model"
+ dependencies:
+ "@backstage/backend-common": "workspace:^"
+ "@backstage/backend-plugin-api": "workspace:^"
+ "@backstage/backend-test-utils": "workspace:^"
+ "@backstage/catalog-model": "workspace:^"
+ "@backstage/cli": "workspace:^"
+ "@backstage/plugin-catalog-common": "workspace:^"
+ "@backstage/plugin-catalog-node": "workspace:^"
+ "@backstage/plugin-scaffolder-common": "workspace:^"
+ languageName: unknown
+ linkType: soft
+
"@backstage/plugin-catalog-backend-module-unprocessed@workspace:^, @backstage/plugin-catalog-backend-module-unprocessed@workspace:plugins/catalog-backend-module-unprocessed":
version: 0.0.0-use.local
resolution: "@backstage/plugin-catalog-backend-module-unprocessed@workspace:plugins/catalog-backend-module-unprocessed"
@@ -7311,7 +7360,7 @@ __metadata:
"@backstage/test-utils": "workspace:^"
"@material-ui/core": ^4.12.2
"@material-ui/icons": ^4.9.1
- "@rjsf/utils": 5.7.3
+ "@rjsf/utils": 5.13.0
"@testing-library/dom": ^8.0.0
"@testing-library/jest-dom": ^5.10.1
"@testing-library/react": ^12.1.3
@@ -7377,10 +7426,10 @@ __metadata:
"@material-ui/core": ^4.12.2
"@material-ui/icons": ^4.9.1
"@material-ui/lab": 4.0.0-alpha.61
- "@rjsf/core-v5": "npm:@rjsf/core@5.7.3"
- "@rjsf/material-ui-v5": "npm:@rjsf/material-ui@5.7.3"
- "@rjsf/utils": 5.7.3
- "@rjsf/validator-ajv8": 5.7.3
+ "@rjsf/core-v5": "npm:@rjsf/core@5.13.0"
+ "@rjsf/material-ui-v5": "npm:@rjsf/material-ui@5.13.0"
+ "@rjsf/utils": 5.13.0
+ "@rjsf/validator-ajv8": 5.13.0
"@testing-library/dom": ^8.0.0
"@testing-library/jest-dom": ^5.10.1
"@testing-library/react": ^12.1.3
@@ -7655,7 +7704,6 @@ __metadata:
"@testing-library/react": ^12.1.3
"@testing-library/react-hooks": ^8.0.0
"@testing-library/user-event": ^14.0.0
- "@types/node": ^16.11.26
"@types/react": ^16.13.1 || ^17.0.0
cronstrue: ^2.2.0
jest-websocket-mock: ^2.4.1
@@ -8633,6 +8681,7 @@ __metadata:
"@backstage/integration": "workspace:^"
"@backstage/plugin-auth-node": "workspace:^"
"@backstage/plugin-catalog-backend": "workspace:^"
+ "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "workspace:^"
"@backstage/plugin-catalog-common": "workspace:^"
"@backstage/plugin-catalog-node": "workspace:^"
"@backstage/plugin-permission-common": "workspace:^"
@@ -8748,11 +8797,11 @@ __metadata:
"@material-ui/lab": 4.0.0-alpha.61
"@react-hookz/web": ^20.0.0
"@rjsf/core": ^3.2.1
- "@rjsf/core-v5": "npm:@rjsf/core@5.7.3"
+ "@rjsf/core-v5": "npm:@rjsf/core@5.13.0"
"@rjsf/material-ui": ^3.2.1
- "@rjsf/material-ui-v5": "npm:@rjsf/material-ui@5.7.3"
- "@rjsf/utils": 5.7.3
- "@rjsf/validator-ajv8": 5.7.3
+ "@rjsf/material-ui-v5": "npm:@rjsf/material-ui@5.13.0"
+ "@rjsf/utils": 5.13.0
+ "@rjsf/validator-ajv8": 5.13.0
"@testing-library/dom": ^8.0.0
"@testing-library/jest-dom": ^5.10.1
"@testing-library/react": ^12.1.3
@@ -8815,8 +8864,8 @@ __metadata:
"@react-hookz/web": ^20.0.0
"@rjsf/core": ^3.2.1
"@rjsf/material-ui": ^3.2.1
- "@rjsf/utils": 5.7.3
- "@rjsf/validator-ajv8": 5.7.3
+ "@rjsf/utils": 5.13.0
+ "@rjsf/validator-ajv8": 5.13.0
"@testing-library/dom": ^8.0.0
"@testing-library/jest-dom": ^5.10.1
"@testing-library/react": ^12.1.3
@@ -8833,6 +8882,7 @@ __metadata:
immer: ^9.0.1
json-schema: ^0.4.0
json-schema-library: ^7.3.9
+ jszip: ^3.10.1
lodash: ^4.17.21
luxon: ^3.0.0
msw: ^1.0.0
@@ -10024,7 +10074,35 @@ __metadata:
languageName: unknown
linkType: soft
-"@backstage/theme@^0.4.1, @backstage/theme@workspace:^, @backstage/theme@workspace:packages/theme":
+"@backstage/theme@npm:^0.2.16, @backstage/theme@npm:^0.2.18":
+ version: 0.2.19
+ resolution: "@backstage/theme@npm:0.2.19"
+ dependencies:
+ "@material-ui/core": ^4.12.2
+ peerDependencies:
+ react: ^16.13.1 || ^17.0.0
+ react-dom: ^16.13.1 || ^17.0.0
+ checksum: 93ca110a3f953d6d98b4a5f2163beaa1bd1f95adb66a593e85eb523a7012acf654b6148db54008a6434805a4bd9016d67e5c6a317bc56940ee6800aecbb97d6f
+ languageName: node
+ linkType: hard
+
+"@backstage/theme@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "@backstage/theme@npm:0.4.1"
+ dependencies:
+ "@emotion/react": ^11.10.5
+ "@emotion/styled": ^11.10.5
+ "@mui/material": ^5.12.2
+ peerDependencies:
+ "@material-ui/core": ^4.12.2
+ "@types/react": ^16.13.1 || ^17.0.0
+ react: ^16.13.1 || ^17.0.0
+ react-dom: ^16.13.1 || ^17.0.0
+ checksum: eba5b177632205be97f3ef535e91a90673a89791242d7e6c07947c959459676b41fd4f912493a198955a9dc5d55b2314f81d6e7191795e16df34e940382a340d
+ languageName: node
+ linkType: hard
+
+"@backstage/theme@workspace:^, @backstage/theme@workspace:packages/theme":
version: 0.0.0-use.local
resolution: "@backstage/theme@workspace:packages/theme"
dependencies:
@@ -10041,19 +10119,14 @@ __metadata:
languageName: unknown
linkType: soft
-"@backstage/theme@npm:^0.2.16, @backstage/theme@npm:^0.2.18":
- version: 0.2.19
- resolution: "@backstage/theme@npm:0.2.19"
- dependencies:
- "@material-ui/core": ^4.12.2
- peerDependencies:
- react: ^16.13.1 || ^17.0.0
- react-dom: ^16.13.1 || ^17.0.0
- checksum: 93ca110a3f953d6d98b4a5f2163beaa1bd1f95adb66a593e85eb523a7012acf654b6148db54008a6434805a4bd9016d67e5c6a317bc56940ee6800aecbb97d6f
+"@backstage/types@npm:^1.0.2, @backstage/types@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@backstage/types@npm:1.1.0"
+ checksum: e93c3d10f151db087f611b1e25fb7a5ed5ec82cb3040c7bc3b04c058c6d8f889505310019707bf17a2bb3aa545e199de3f779914262a9eeaea73ff6ecc8e1dc8
languageName: node
linkType: hard
-"@backstage/types@^1.0.2, @backstage/types@^1.1.0, @backstage/types@workspace:^, @backstage/types@workspace:packages/types":
+"@backstage/types@workspace:^, @backstage/types@workspace:packages/types":
version: 0.0.0-use.local
resolution: "@backstage/types@workspace:packages/types"
dependencies:
@@ -10064,7 +10137,20 @@ __metadata:
languageName: unknown
linkType: soft
-"@backstage/version-bridge@^1.0.3, @backstage/version-bridge@^1.0.4, @backstage/version-bridge@workspace:^, @backstage/version-bridge@workspace:packages/version-bridge":
+"@backstage/version-bridge@npm:^1.0.3, @backstage/version-bridge@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "@backstage/version-bridge@npm:1.0.4"
+ dependencies:
+ "@types/react": ^16.13.1 || ^17.0.0
+ peerDependencies:
+ react: ^16.13.1 || ^17.0.0
+ react-dom: ^16.13.1 || ^17.0.0
+ react-router-dom: 6.0.0-beta.0 || ^6.3.0
+ checksum: ae2511afcc9aded46d78b5b1788a4da6502f8fd21ebd305f748eab489bf09b87bebfdafa9926214777e80afd0fe36aa561060b675272becb0389c5f3c8fce007
+ languageName: node
+ linkType: hard
+
+"@backstage/version-bridge@workspace:^, @backstage/version-bridge@workspace:packages/version-bridge":
version: 0.0.0-use.local
resolution: "@backstage/version-bridge@workspace:packages/version-bridge"
dependencies:
@@ -10431,13 +10517,13 @@ __metadata:
linkType: hard
"@codemirror/view@npm:^6.0.0":
- version: 6.18.0
- resolution: "@codemirror/view@npm:6.18.0"
+ version: 6.18.1
+ resolution: "@codemirror/view@npm:6.18.1"
dependencies:
"@codemirror/state": ^6.1.4
style-mod: ^4.1.0
w3c-keyname: ^2.2.4
- checksum: 275bf5898e884297f16f73e4dff1b520a196a5f7724fbeda634a927e7f4036f6786e816b124505942de99800fb66c538307e8c08e55234ad57483f1a009e3d35
+ checksum: 12e350169a12a3cca059712769f81306c95b59accce8ec3c5e6deb1f2fc570baac6f64768aa04f6337bca8448d66520417ec8a4c1c456d40324758695ed9fe90
languageName: node
linkType: hard
@@ -11129,10 +11215,10 @@ __metadata:
languageName: node
linkType: hard
-"@eslint/js@npm:8.48.0":
- version: 8.48.0
- resolution: "@eslint/js@npm:8.48.0"
- checksum: b2755f9c0ee810c886eba3c50dcacb184ba5a5cd1cbc01988ee506ad7340653cae0bd55f1d95c64b56dfc6d25c2caa7825335ffd2c50165bae9996fe0f396851
+"@eslint/js@npm:8.49.0":
+ version: 8.49.0
+ resolution: "@eslint/js@npm:8.49.0"
+ checksum: a6601807c8aeeefe866926ad92ed98007c034a735af20ff709009e39ad1337474243d47908500a3bde04e37bfba16bcf1d3452417f962e1345bc8756edd6b830
languageName: node
linkType: hard
@@ -12216,14 +12302,14 @@ __metadata:
languageName: node
linkType: hard
-"@humanwhocodes/config-array@npm:^0.11.10":
- version: 0.11.10
- resolution: "@humanwhocodes/config-array@npm:0.11.10"
+"@humanwhocodes/config-array@npm:^0.11.11":
+ version: 0.11.11
+ resolution: "@humanwhocodes/config-array@npm:0.11.11"
dependencies:
"@humanwhocodes/object-schema": ^1.2.1
debug: ^4.1.1
minimatch: ^3.0.5
- checksum: 1b1302e2403d0e35bc43e66d67a2b36b0ad1119efc704b5faff68c41f791a052355b010fb2d27ef022670f550de24cd6d08d5ecf0821c16326b7dcd0ee5d5d8a
+ checksum: db84507375ab77b8ffdd24f498a5b49ad6b64391d30dd2ac56885501d03964d29637e05b1ed5aefa09d57ac667e28028bc22d2da872bfcd619652fbdb5f4ca19
languageName: node
linkType: hard
@@ -14636,6 +14722,22 @@ __metadata:
languageName: node
linkType: hard
+"@rjsf/core-v5@npm:@rjsf/core@5.13.0":
+ version: 5.13.0
+ resolution: "@rjsf/core@npm:5.13.0"
+ dependencies:
+ lodash: ^4.17.21
+ lodash-es: ^4.17.21
+ markdown-to-jsx: ^7.3.2
+ nanoid: ^3.3.6
+ prop-types: ^15.8.1
+ peerDependencies:
+ "@rjsf/utils": ^5.12.x
+ react: ^16.14.0 || >=17
+ checksum: d7d66d20fcdf310f4b152c22e1ac1ca8abe5f40b502711c9cabc4241b3252ec0e58345aa194529d2bdfb7a51b9f1179c9ddefc0cdc7fd9f94ad10c5e5b1032b8
+ languageName: node
+ linkType: hard
+
"@rjsf/core-v5@npm:@rjsf/core@5.7.3":
version: 5.7.3
resolution: "@rjsf/core@npm:5.7.3"
@@ -14671,6 +14773,19 @@ __metadata:
languageName: node
linkType: hard
+"@rjsf/material-ui-v5@npm:@rjsf/material-ui@5.13.0":
+ version: 5.13.0
+ resolution: "@rjsf/material-ui@npm:5.13.0"
+ peerDependencies:
+ "@material-ui/core": ^4.12.3
+ "@material-ui/icons": ^4.11.2
+ "@rjsf/core": ^5.12.x
+ "@rjsf/utils": ^5.12.x
+ react: ^16.14.0 || >=17
+ checksum: 4157a2f112aace66a284c4e40b3220676e884ef37ffdbda616406dfb1a30d58aef6e241c2093a589bbd2f73964db797d7378666e534acec952578075c62cbf6a
+ languageName: node
+ linkType: hard
+
"@rjsf/material-ui-v5@npm:@rjsf/material-ui@5.7.3":
version: 5.7.3
resolution: "@rjsf/material-ui@npm:5.7.3"
@@ -14696,6 +14811,21 @@ __metadata:
languageName: node
linkType: hard
+"@rjsf/utils@npm:5.13.0":
+ version: 5.13.0
+ resolution: "@rjsf/utils@npm:5.13.0"
+ dependencies:
+ json-schema-merge-allof: ^0.8.1
+ jsonpointer: ^5.0.1
+ lodash: ^4.17.21
+ lodash-es: ^4.17.21
+ react-is: ^18.2.0
+ peerDependencies:
+ react: ^16.14.0 || >=17
+ checksum: 283e2b405eac2f4fdd243b2e35ade7e83a4bf7551eb5e075499e8eb5d3a3ae161e9c047bcf63d2e6fef7c6b2e7438f1a150f353b909df992e85194940c311f9b
+ languageName: node
+ linkType: hard
+
"@rjsf/utils@npm:5.7.3":
version: 5.7.3
resolution: "@rjsf/utils@npm:5.7.3"
@@ -14711,6 +14841,20 @@ __metadata:
languageName: node
linkType: hard
+"@rjsf/validator-ajv8@npm:5.13.0":
+ version: 5.13.0
+ resolution: "@rjsf/validator-ajv8@npm:5.13.0"
+ dependencies:
+ ajv: ^8.12.0
+ ajv-formats: ^2.1.1
+ lodash: ^4.17.21
+ lodash-es: ^4.17.21
+ peerDependencies:
+ "@rjsf/utils": ^5.12.x
+ checksum: dd36b12e26f213208b899087768b72f8e0763d9a9ac0ba478034270d4d5ac1cebb9ca3ec1a9150c95293b36620c41d5180efda677d23c644a4d4475d8fb49e75
+ languageName: node
+ linkType: hard
+
"@rjsf/validator-ajv8@npm:5.7.3":
version: 5.7.3
resolution: "@rjsf/validator-ajv8@npm:5.7.3"
@@ -14750,8 +14894,8 @@ __metadata:
linkType: hard
"@roadiehq/backstage-plugin-github-insights@npm:^2.0.5":
- version: 2.3.18
- resolution: "@roadiehq/backstage-plugin-github-insights@npm:2.3.18"
+ version: 2.3.20
+ resolution: "@roadiehq/backstage-plugin-github-insights@npm:2.3.20"
dependencies:
"@backstage/catalog-model": ^1.4.1
"@backstage/core-components": ^0.13.4
@@ -14773,7 +14917,7 @@ __metadata:
react: ^16.13.1 || ^17.0.0
react-dom: ^16.13.1 || ^17.0.0
react-router: 6.0.0-beta.0 || ^6.3.0
- checksum: 891ab977ef1edb5afd921c52788db19734227248c75dde515e9bed092884d29a9c91c3a0a824f69a7d3fd741d862dba9d83c00fae447e3011e88966d2a30307f
+ checksum: 187483c88f7a34757cb9cc6b9bac343bfd1853e634957f71049fe448b03a1e631456f1bc31be3aa91c41976a812ae24e522fc374faf33507e3db80fc1e54cdd2
languageName: node
linkType: hard
@@ -16513,90 +16657,90 @@ __metadata:
languageName: node
linkType: hard
-"@swc/core-darwin-arm64@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-darwin-arm64@npm:1.3.82"
+"@swc/core-darwin-arm64@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-darwin-arm64@npm:1.3.84"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"@swc/core-darwin-x64@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-darwin-x64@npm:1.3.82"
+"@swc/core-darwin-x64@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-darwin-x64@npm:1.3.84"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"@swc/core-linux-arm-gnueabihf@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.82"
+"@swc/core-linux-arm-gnueabihf@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-arm-gnueabihf@npm:1.3.84"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
-"@swc/core-linux-arm64-gnu@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-arm64-gnu@npm:1.3.82"
+"@swc/core-linux-arm64-gnu@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-arm64-gnu@npm:1.3.84"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
-"@swc/core-linux-arm64-musl@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-arm64-musl@npm:1.3.82"
+"@swc/core-linux-arm64-musl@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-arm64-musl@npm:1.3.84"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
-"@swc/core-linux-x64-gnu@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-x64-gnu@npm:1.3.82"
+"@swc/core-linux-x64-gnu@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-x64-gnu@npm:1.3.84"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
-"@swc/core-linux-x64-musl@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-linux-x64-musl@npm:1.3.82"
+"@swc/core-linux-x64-musl@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-linux-x64-musl@npm:1.3.84"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
-"@swc/core-win32-arm64-msvc@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-win32-arm64-msvc@npm:1.3.82"
+"@swc/core-win32-arm64-msvc@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-win32-arm64-msvc@npm:1.3.84"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
-"@swc/core-win32-ia32-msvc@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-win32-ia32-msvc@npm:1.3.82"
+"@swc/core-win32-ia32-msvc@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-win32-ia32-msvc@npm:1.3.84"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
-"@swc/core-win32-x64-msvc@npm:1.3.82":
- version: 1.3.82
- resolution: "@swc/core-win32-x64-msvc@npm:1.3.82"
+"@swc/core-win32-x64-msvc@npm:1.3.84":
+ version: 1.3.84
+ resolution: "@swc/core-win32-x64-msvc@npm:1.3.84"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"@swc/core@npm:^1.3.46":
- version: 1.3.82
- resolution: "@swc/core@npm:1.3.82"
+ version: 1.3.84
+ resolution: "@swc/core@npm:1.3.84"
dependencies:
- "@swc/core-darwin-arm64": 1.3.82
- "@swc/core-darwin-x64": 1.3.82
- "@swc/core-linux-arm-gnueabihf": 1.3.82
- "@swc/core-linux-arm64-gnu": 1.3.82
- "@swc/core-linux-arm64-musl": 1.3.82
- "@swc/core-linux-x64-gnu": 1.3.82
- "@swc/core-linux-x64-musl": 1.3.82
- "@swc/core-win32-arm64-msvc": 1.3.82
- "@swc/core-win32-ia32-msvc": 1.3.82
- "@swc/core-win32-x64-msvc": 1.3.82
+ "@swc/core-darwin-arm64": 1.3.84
+ "@swc/core-darwin-x64": 1.3.84
+ "@swc/core-linux-arm-gnueabihf": 1.3.84
+ "@swc/core-linux-arm64-gnu": 1.3.84
+ "@swc/core-linux-arm64-musl": 1.3.84
+ "@swc/core-linux-x64-gnu": 1.3.84
+ "@swc/core-linux-x64-musl": 1.3.84
+ "@swc/core-win32-arm64-msvc": 1.3.84
+ "@swc/core-win32-ia32-msvc": 1.3.84
+ "@swc/core-win32-x64-msvc": 1.3.84
"@swc/types": ^0.1.4
peerDependencies:
"@swc/helpers": ^0.5.0
@@ -16624,16 +16768,16 @@ __metadata:
peerDependenciesMeta:
"@swc/helpers":
optional: true
- checksum: 4c4adbed22071c0af935129a6fe7cc35d1688a5c1a069efdd8c97740930fa7eaf324e75dc88634a4ea0520330f6c88101d5aa5cf7ed6e02d336cc46ee7131ea3
+ checksum: dee45823923c29dde579ed1121c4392c937826d575c87f62399ba7a0b27cacfeb05da97b65cf49a721a50127bb1e22ca5c07defa784ec2a47fed33e3498ef1b9
languageName: node
linkType: hard
"@swc/helpers@npm:^0.5.0":
- version: 0.5.1
- resolution: "@swc/helpers@npm:0.5.1"
+ version: 0.5.2
+ resolution: "@swc/helpers@npm:0.5.2"
dependencies:
tslib: ^2.4.0
- checksum: 71e0e27234590435e4c62b97ef5e796f88e786841a38c7116a5e27a3eafa7b9ead7cdec5249b32165902076de78446945311c973e59bddf77c1e24f33a8f272a
+ checksum: 51d7e3d8bd56818c49d6bfbd715f0dbeedc13cf723af41166e45c03e37f109336bbcb57a1f2020f4015957721aeb21e1a7fff281233d797ff7d3dd1f447fa258
languageName: node
linkType: hard
@@ -17980,18 +18124,18 @@ __metadata:
linkType: hard
"@types/node-forge@npm:^1.3.0":
- version: 1.3.4
- resolution: "@types/node-forge@npm:1.3.4"
+ version: 1.3.5
+ resolution: "@types/node-forge@npm:1.3.5"
dependencies:
"@types/node": "*"
- checksum: c3c53ee5039a10d724bfc64fe859106baf0e39c4cac90a5d0ddd3480bf044de6ce145f104d4fa0184c365dff59df7ab4b754172c9d87800f751d10ccd7dcd1ad
+ checksum: b93dae2639ab166d8703567285538f14a53fbe9199b02c1e3752d147260be4a8be5257246558a81fc3eee3c5880704039a6aa22c4415aeb06758aad0391ac39c
languageName: node
linkType: hard
"@types/node@npm:*, @types/node@npm:>=12.12.47, @types/node@npm:>=13.7.0":
- version: 20.5.9
- resolution: "@types/node@npm:20.5.9"
- checksum: 717490e94131722144878b4ca1a963ede1673bb8f2ef78c2f5b50b918df6dc9b35e7f8283e5c2a7a9f137730f7c08dc6228e53d4494a94c9ee16881e6ce6caed
+ version: 20.6.0
+ resolution: "@types/node@npm:20.6.0"
+ checksum: 52611801af5cf151c6fac1963aa4a8a8ca2e388a9e9ed82b01b70bca762088ded5b32cc789c5564220d5d7dccba2b8dd34446a3d4fc74736805e1f2cf262e29d
languageName: node
linkType: hard
@@ -18003,9 +18147,9 @@ __metadata:
linkType: hard
"@types/node@npm:^14.14.31":
- version: 14.18.58
- resolution: "@types/node@npm:14.18.58"
- checksum: 45767bb137acdd1d1486bcce279d149ab1c44089401f124e8b7044f4cd7511aa841ae8fac030e81b988b45df21cfb4eca44281c6d7f75c87f803748a30cb9043
+ version: 14.18.59
+ resolution: "@types/node@npm:14.18.59"
+ checksum: 6a2a5a5c07b9150bad47b821deb723ab72d33beae8b7b75a10787550236e6428d547806ba3103c86918b849b790bfaef0b165650213d807792effcfb7181be10
languageName: node
linkType: hard
@@ -18017,16 +18161,16 @@ __metadata:
linkType: hard
"@types/node@npm:^16.0.0, @types/node@npm:^16.11.26, @types/node@npm:^16.9.2":
- version: 16.18.48
- resolution: "@types/node@npm:16.18.48"
- checksum: 5b725fe918197e4395cc88de17d67efeb02436e29c0d3b212ed63dfc51509ed398e9155ae15d1a8cd6f1c891463f2cf074dcea320d8cd392e25a9a11ce53dd6c
+ version: 16.18.50
+ resolution: "@types/node@npm:16.18.50"
+ checksum: 8aec1eaf83407197ec2fe947182c238f49b82a7aace867cee1f81f72eb8a76c3c8b2adb1fd356e7443317cffb2546708da8934299a579edd25e3160bf7af30a1
languageName: node
linkType: hard
"@types/node@npm:^18.11.17":
- version: 18.17.14
- resolution: "@types/node@npm:18.17.14"
- checksum: f96ce1e588426a26cf82440193084f8bbab47bfb3c2e668cf174095f99ce808a20654b2137448c7e88cfd7b6c2b8521ffb6f714f521b3502ac595a0df0bff679
+ version: 18.17.15
+ resolution: "@types/node@npm:18.17.15"
+ checksum: eed11d4398ccdb999a4c65658ee75de621a4ad57aece48ed2fb8803b1e2711fadf58d8aefbdb0a447d69cf3cba602ca32fe0fc92077575950a796e1dc13baa0f
languageName: node
linkType: hard
@@ -18358,12 +18502,12 @@ __metadata:
linkType: hard
"@types/recharts@npm:^1.8.14, @types/recharts@npm:^1.8.15":
- version: 1.8.23
- resolution: "@types/recharts@npm:1.8.23"
+ version: 1.8.24
+ resolution: "@types/recharts@npm:1.8.24"
dependencies:
"@types/d3-shape": ^1
"@types/react": "*"
- checksum: 0588f6245f067583f14f98637e24c117cb7f90128926f9b09fa7ed7411a6391d47198afba60201759efd588d5e520cc88d04afdc11fda1d70c62ccee52c0f02f
+ checksum: 1341e5472bf62a83ab98648bc5c14a9a81fba16af9255203ef12a21caa21a988fac3198d9771703394eb876d4fbefb42e818865e35ecfe0d105aee1d1164aa6e
languageName: node
linkType: hard
@@ -22602,9 +22746,9 @@ __metadata:
linkType: hard
"core-js@npm:^3.26.0, core-js@npm:^3.6.5":
- version: 3.32.1
- resolution: "core-js@npm:3.32.1"
- checksum: e4af91d9c6be7b59235feb3f273d16705126ce09a0b4a787144d131d874f0cd10be3c24fc52e5eea7d7cb03ceabe4be7b255abcd9474b5eb1ff365d2c5611f9a
+ version: 3.32.2
+ resolution: "core-js@npm:3.32.2"
+ checksum: d6fac7e8eb054eefc211c76cd0a0ff07447a917122757d085f469f046ec888d122409c7db1a9601c3eb5fa767608ed380bcd219eace02bdf973da155680edeec
languageName: node
linkType: hard
@@ -25338,14 +25482,14 @@ __metadata:
linkType: hard
"eslint@npm:^8.33.0, eslint@npm:^8.6.0":
- version: 8.48.0
- resolution: "eslint@npm:8.48.0"
+ version: 8.49.0
+ resolution: "eslint@npm:8.49.0"
dependencies:
"@eslint-community/eslint-utils": ^4.2.0
"@eslint-community/regexpp": ^4.6.1
"@eslint/eslintrc": ^2.1.2
- "@eslint/js": 8.48.0
- "@humanwhocodes/config-array": ^0.11.10
+ "@eslint/js": 8.49.0
+ "@humanwhocodes/config-array": ^0.11.11
"@humanwhocodes/module-importer": ^1.0.1
"@nodelib/fs.walk": ^1.2.8
ajv: ^6.12.4
@@ -25380,7 +25524,7 @@ __metadata:
text-table: ^0.2.0
bin:
eslint: bin/eslint.js
- checksum: f20b359a4f8123fec5c033577368cc020d42978b1b45303974acd8da7a27063168ee3fe297ab5b35327162f6a93154063e3ce6577102f70f9809aff793db9bd0
+ checksum: 4dfe257e1e42da2f9da872b05aaaf99b0f5aa022c1a91eee8f2af1ab72651b596366320c575ccd4e0469f7b4c97aff5bb85ae3323ebd6a293c3faef4028b0d81
languageName: node
linkType: hard
@@ -25805,6 +25949,7 @@ __metadata:
"@backstage/plugin-azure-devops-backend": "workspace:^"
"@backstage/plugin-badges-backend": "workspace:^"
"@backstage/plugin-catalog-backend": "workspace:^"
+ "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "workspace:^"
"@backstage/plugin-catalog-backend-module-unprocessed": "workspace:^"
"@backstage/plugin-devtools-backend": "workspace:^"
"@backstage/plugin-entity-feedback-backend": "workspace:^"
@@ -25846,6 +25991,7 @@ __metadata:
"@backstage/plugin-azure-sites-backend": "workspace:^"
"@backstage/plugin-badges-backend": "workspace:^"
"@backstage/plugin-catalog-backend": "workspace:^"
+ "@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "workspace:^"
"@backstage/plugin-catalog-backend-module-unprocessed": "workspace:^"
"@backstage/plugin-catalog-node": "workspace:^"
"@backstage/plugin-code-coverage-backend": "workspace:^"
@@ -28489,6 +28635,13 @@ __metadata:
languageName: node
linkType: hard
+"immediate@npm:~3.0.5":
+ version: 3.0.6
+ resolution: "immediate@npm:3.0.6"
+ checksum: f9b3486477555997657f70318cc8d3416159f208bec4cca3ff3442fd266bc23f50f0c9bd8547e1371a6b5e82b821ec9a7044a4f7b944798b25aa3cc6d5e63e62
+ languageName: node
+ linkType: hard
+
"immer@npm:9.0.7":
version: 9.0.7
resolution: "immer@npm:9.0.7"
@@ -30241,12 +30394,12 @@ __metadata:
linkType: hard
"jest-websocket-mock@npm:^2.4.1":
- version: 2.4.1
- resolution: "jest-websocket-mock@npm:2.4.1"
+ version: 2.5.0
+ resolution: "jest-websocket-mock@npm:2.5.0"
dependencies:
jest-diff: ^29.2.0
- mock-socket: ^9.1.0
- checksum: 5091bfc1baef36146ea1d0f7e16c591d8f8cd9604b7daaeb3d61d98cb1034f4ea3825c122477eb15d55f7d7fe6ec93a8e7b58d54f39838238d7345675d0afb37
+ mock-socket: ^9.3.0
+ checksum: df52989d62f59aea3408d37089ab56490efdfa75d81c851dde65758474844e273a9a4ebd9c13db49d226b87d8272896cabd91173dd8cc56b96beec309d46554d
languageName: node
linkType: hard
@@ -31143,6 +31296,18 @@ __metadata:
languageName: node
linkType: hard
+"jszip@npm:^3.10.1":
+ version: 3.10.1
+ resolution: "jszip@npm:3.10.1"
+ dependencies:
+ lie: ~3.3.0
+ pako: ~1.0.2
+ readable-stream: ~2.3.6
+ setimmediate: ^1.0.5
+ checksum: abc77bfbe33e691d4d1ac9c74c8851b5761fba6a6986630864f98d876f3fcc2d36817dfc183779f32c00157b5d53a016796677298272a714ae096dfe6b1c8b60
+ languageName: node
+ linkType: hard
+
"just-diff-apply@npm:^4.0.1":
version: 4.0.1
resolution: "just-diff-apply@npm:4.0.1"
@@ -31479,6 +31644,15 @@ __metadata:
languageName: node
linkType: hard
+"lie@npm:~3.3.0":
+ version: 3.3.0
+ resolution: "lie@npm:3.3.0"
+ dependencies:
+ immediate: ~3.0.5
+ checksum: 33102302cf19766f97919a6a98d481e01393288b17a6aa1f030a3542031df42736edde8dab29ffdbf90bebeffc48c761eb1d064dc77592ca3ba3556f9fe6d2a8
+ languageName: node
+ linkType: hard
+
"lilconfig@npm:2.1.0, lilconfig@npm:^2.0.3":
version: 2.1.0
resolution: "lilconfig@npm:2.1.0"
@@ -32321,12 +32495,12 @@ __metadata:
languageName: node
linkType: hard
-"markdown-to-jsx@npm:^7.2.0":
- version: 7.2.0
- resolution: "markdown-to-jsx@npm:7.2.0"
+"markdown-to-jsx@npm:^7.2.0, markdown-to-jsx@npm:^7.3.2":
+ version: 7.3.2
+ resolution: "markdown-to-jsx@npm:7.3.2"
peerDependencies:
react: ">= 0.14.0"
- checksum: ea417e684d7eec9f1beebc9423aba377116ef77c3cd83a2d622df1b9030ffef99aa9b3f431192b94f3237943a33560e6dda9be8a4c1d25187518d09986dad22f
+ checksum: 8885c6343b71570b0a7ec16cd85a49b853a830234790ee7430e2517ea5d8d361ff138bd52147f650790f3e7b3a28a15c755fc16f8856dd01ddf09a6161782e06
languageName: node
linkType: hard
@@ -33437,10 +33611,10 @@ __metadata:
languageName: node
linkType: hard
-"mock-socket@npm:^9.1.0":
- version: 9.2.1
- resolution: "mock-socket@npm:9.2.1"
- checksum: daf07689563163dbcefbefe23b2a9784a75d0af31706f23ad535c6ab2abbcdefa2e91acddeb50a3c39009139e47a8f909cbb38e8137452193ccb9331637fee3e
+"mock-socket@npm:^9.3.0":
+ version: 9.3.1
+ resolution: "mock-socket@npm:9.3.1"
+ checksum: cb2dde4fc5dde280dd5ccb78eaaa223382ee16437f46b86558017655584ad08c22e733bde2dd5cc86927def506b6caeb0147e3167b9a62d70d5cf19d44103853
languageName: node
linkType: hard
@@ -34875,7 +35049,7 @@ __metadata:
languageName: node
linkType: hard
-"pako@npm:^1.0.10, pako@npm:~1.0.5":
+"pako@npm:^1.0.10, pako@npm:~1.0.2, pako@npm:~1.0.5":
version: 1.0.11
resolution: "pako@npm:1.0.11"
checksum: 1be2bfa1f807608c7538afa15d6f25baa523c30ec870a3228a89579e474a4d992f4293859524e46d5d87fd30fa17c5edf34dbef0671251d9749820b488660b16
@@ -37733,7 +37907,7 @@ __metadata:
languageName: node
linkType: hard
-"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6":
+"readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6":
version: 2.3.8
resolution: "readable-stream@npm:2.3.8"
dependencies:
@@ -43249,8 +43423,8 @@ __metadata:
linkType: hard
"ws@npm:^8.11.0, ws@npm:^8.13.0, ws@npm:^8.8.0":
- version: 8.14.0
- resolution: "ws@npm:8.14.0"
+ version: 8.14.1
+ resolution: "ws@npm:8.14.1"
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: ">=5.0.2"
@@ -43259,7 +43433,7 @@ __metadata:
optional: true
utf-8-validate:
optional: true
- checksum: dd91d055396c42552d8e2d26a0ab10221e73ca356de3db9109e337b8d9df216a0a308ace46a5e0520ed18ffcae3f54c2fa45a96711f94a063c816ef13a30b700
+ checksum: 9e310be2b0ff69e1f87d8c6d093ecd17a1ed4c37f281d17c35e8c30e2bd116401775b3d503249651374e6e0e1e9905db62fff096b694371c77561aee06bc3466
languageName: node
linkType: hard