diff --git a/.changeset/giant-pumpkins-carry.md b/.changeset/giant-pumpkins-carry.md
new file mode 100644
index 0000000000..db823153bc
--- /dev/null
+++ b/.changeset/giant-pumpkins-carry.md
@@ -0,0 +1,22 @@
+---
+'@frontside/backstage-plugin-graphql-backend-module-catalog': minor
+'@frontside/backstage-plugin-incremental-ingestion-backend': minor
+'@frontside/backstage-plugin-scaffolder-workflow': minor
+'@frontside/scaffolder-yaml-actions': minor
+'@frontside/backstage-ingestion-tests': minor
+'@frontside/backstage-plugin-batch-loader': minor
+'backend': minor
+'app': minor
+'@frontside/backstage-plugin-incremental-ingestion-github': patch
+'@frontside/backstage-plugin-effection-inspector-backend': patch
+'@frontside/backstage-plugin-graphql-backend-node': patch
+'@frontside/backstage-plugin-effection-inspector': patch
+'@frontside/backstage-plugin-humanitec-backend': patch
+'@frontside/backstage-plugin-humanitec-common': patch
+'@frontside/backstage-plugin-graphql-backend': patch
+'@internal/plugin-healthcheck': patch
+'@frontside/graphgen-backstage': patch
+'@frontside/backstage-plugin-humanitec': patch
+---
+
+Bump Backstage to `1.20.x` along with related dependencies. This includes a bump of Knex to v3. Additionally, this version of Backstage begins to shift scaffolder alpha features into the mainline which affects the types in related packages.
diff --git a/backstage.json b/backstage.json
index 43a147ba7b..e7d784f8ac 100644
--- a/backstage.json
+++ b/backstage.json
@@ -1,3 +1,3 @@
{
- "version": "1.18.4"
+ "version": "1.20.3"
}
diff --git a/package.json b/package.json
index d58cbdcabf..f19ba2fbca 100644
--- a/package.json
+++ b/package.json
@@ -35,7 +35,7 @@
]
},
"devDependencies": {
- "@backstage/cli": "^0.22.13",
+ "@backstage/cli": "^0.24.0",
"@changesets/cli": "^2.22.0",
"@spotify/prettier-config": "^12.0.0",
"concurrently": "^7.5.0",
diff --git a/packages/app/package.json b/packages/app/package.json
index 8df758d060..35db7ab8d2 100644
--- a/packages/app/package.json
+++ b/packages/app/package.json
@@ -7,39 +7,39 @@
},
"bundled": true,
"dependencies": {
- "@backstage/app-defaults": "^1.4.3",
- "@backstage/catalog-model": "^1.4.2",
- "@backstage/cli": "^0.22.13",
- "@backstage/core-app-api": "^1.10.0",
- "@backstage/core-components": "^0.13.5",
- "@backstage/core-plugin-api": "^1.6.0",
- "@backstage/integration-react": "^1.1.19",
- "@backstage/plugin-api-docs": "^0.9.11",
- "@backstage/plugin-catalog": "^1.13.0",
- "@backstage/plugin-catalog-graph": "^0.2.36",
- "@backstage/plugin-catalog-import": "^0.10.0",
- "@backstage/plugin-catalog-react": "^1.8.4",
- "@backstage/plugin-catalog-unprocessed-entities": "^0.1.3",
- "@backstage/plugin-github-actions": "^0.6.5",
- "@backstage/plugin-graphiql": "^0.2.54",
- "@backstage/plugin-org": "^0.6.14",
- "@backstage/plugin-scaffolder": "^1.15.0",
- "@backstage/plugin-scaffolder-react": "^1.5.5",
- "@backstage/plugin-search": "^1.4.0",
- "@backstage/plugin-search-react": "^1.7.0",
- "@backstage/plugin-tech-radar": "^0.6.8",
- "@backstage/plugin-techdocs": "^1.7.0",
- "@backstage/plugin-techdocs-module-addons-contrib": "^1.1.0",
- "@backstage/plugin-techdocs-react": "^1.1.11",
- "@backstage/plugin-user-settings": "^0.7.10",
- "@backstage/theme": "^0.4.2",
+ "@backstage/app-defaults": "^1.4.5",
+ "@backstage/catalog-model": "^1.4.3",
+ "@backstage/cli": "^0.24.0",
+ "@backstage/core-app-api": "^1.11.1",
+ "@backstage/core-components": "^0.13.8",
+ "@backstage/core-plugin-api": "^1.8.0",
+ "@backstage/integration-react": "^1.1.21",
+ "@backstage/plugin-api-docs": "^0.10.1",
+ "@backstage/plugin-catalog": "^1.15.1",
+ "@backstage/plugin-catalog-graph": "^0.3.1",
+ "@backstage/plugin-catalog-import": "^0.10.3",
+ "@backstage/plugin-catalog-react": "^1.9.1",
+ "@backstage/plugin-catalog-unprocessed-entities": "^0.1.5",
+ "@backstage/plugin-github-actions": "^0.6.8",
+ "@backstage/plugin-graphiql": "^0.3.0",
+ "@backstage/plugin-org": "^0.6.17",
+ "@backstage/plugin-scaffolder": "^1.16.1",
+ "@backstage/plugin-scaffolder-react": "^1.6.1",
+ "@backstage/plugin-search": "^1.4.3",
+ "@backstage/plugin-search-react": "^1.7.3",
+ "@backstage/plugin-tech-radar": "^0.6.10",
+ "@backstage/plugin-techdocs": "^1.9.1",
+ "@backstage/plugin-techdocs-module-addons-contrib": "^1.1.2",
+ "@backstage/plugin-techdocs-react": "^1.1.13",
+ "@backstage/plugin-user-settings": "^0.7.13",
+ "@backstage/theme": "^0.4.4",
"@backstage/types": "^1.1.1",
"@frontside/backstage-plugin-effection-inspector": "^0.1.10",
"@frontside/backstage-plugin-humanitec": "^0.3.11",
"@frontside/backstage-plugin-scaffolder-workflow": "^0.8.1",
"@material-ui/core": "^4.12.2",
"@material-ui/icons": "^4.9.1",
- "@rjsf/utils": "^5.8.1",
+ "@rjsf/utils": "5.13.6",
"assert-ts": "^0.3.4",
"classnames": "^2.3.2",
"history": "^5.0.0",
@@ -50,7 +50,7 @@
"react-use": "^17.2.4"
},
"devDependencies": {
- "@backstage/test-utils": "^1.4.3",
+ "@backstage/test-utils": "^1.4.5",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^12.1.3",
"@testing-library/user-event": "^14.5.1",
diff --git a/packages/app/src/App.tsx b/packages/app/src/App.tsx
index 2537332515..5ad56537c4 100644
--- a/packages/app/src/App.tsx
+++ b/packages/app/src/App.tsx
@@ -11,7 +11,7 @@ import {
catalogImportPlugin,
} from '@backstage/plugin-catalog-import';
import { scaffolderPlugin } from '@backstage/plugin-scaffolder';
-import { NextScaffolderPage } from '@backstage/plugin-scaffolder/alpha';
+import { ScaffolderPage } from '@backstage/plugin-scaffolder';
import { SearchPage } from '@backstage/plugin-search';
import { TechRadarPage } from '@backstage/plugin-tech-radar';
import {
@@ -103,7 +103,10 @@ const routes = (
- } />
+ }
+ />
} />
{routes}
-
+ ,
);
diff --git a/packages/app/src/components/EntityOnboardingWorkflow/EntityOnboardingWorkflow.tsx b/packages/app/src/components/EntityOnboardingWorkflow/EntityOnboardingWorkflow.tsx
index fbd6e46d5c..a18641277a 100644
--- a/packages/app/src/components/EntityOnboardingWorkflow/EntityOnboardingWorkflow.tsx
+++ b/packages/app/src/components/EntityOnboardingWorkflow/EntityOnboardingWorkflow.tsx
@@ -58,12 +58,18 @@ const useStyles = makeStyles(theme => ({
function OnboardingActions({
stepper,
workflow,
+ formRef,
+ whichComponent,
}: {
+ formRef?: any;
stepper?: Stepper;
workflow: RunWorkflow;
+ whichComponent: string;
}) {
+ const errors = formRef?.current?.state?.errors ?? [];
const styles = useStyles();
- if (stepper)
+ if (stepper) {
+ console.log(whichComponent, errors);
return (