Skip to content

Commit

Permalink
feat: Backstage 1.34.1
Browse files Browse the repository at this point in the history
  • Loading branch information
hairmare committed Dec 23, 2024
1 parent df41998 commit da200c9
Show file tree
Hide file tree
Showing 18 changed files with 1,146 additions and 4,709 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ coverage
# Dependencies
node_modules

# Yarn 3 files
# Yarn files
.pnp.*
.yarn/*
!.yarn/patches
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,14 @@ RUN yarn tsc
RUN yarn build:backend

# Stage 3 - Build the actual backend image and install production dependencies
FROM ghcr.io/radiorabe/ubi9-minimal:0.6.6
FROM ghcr.io/radiorabe/ubi9-minimal:0.6.8

ENV APP_ROOT=/opt/app-root \
# The $HOME is not set by default, but some applications need this variable
HOME=/opt/app-root/src \
NPM_RUN=start \
PLATFORM="el9" \
NODEJS_VERSION=20 \
NODEJS_VERSION=22 \
NPM_RUN=start \
NAME=backstage

Expand Down
2 changes: 1 addition & 1 deletion backstage.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"version": "1.26.4"
"version": "1.34.1"
}
6 changes: 0 additions & 6 deletions lerna.json

This file was deleted.

10 changes: 4 additions & 6 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
"version": "1.0.0",
"private": true,
"engines": {
"node": "18 || 20"
"node": "20 || 22"
},
"scripts": {
"dev": "concurrently \"yarn start\" \"yarn start-backend\"",
"dev": "yarn workspaces foreach -A --include backend --include app --parallel -v -i run start",
"start": "yarn workspace app start",
"start-backend": "yarn workspace backend start",
"build:backend": "yarn workspace backend build",
Expand All @@ -32,11 +32,9 @@
"@backstage/cli": "^0.29.4",
"@backstage/e2e-test-utils": "^0.1.1",
"@playwright/test": "^1.41.2",
"@spotify/prettier-config": "^15.0.0",
"@types/react": "^18",
"@types/react-dom": "^18",
"concurrently": "^8.2.2",
"lerna": "^8.1.2",
"eslint-plugin-jest": "^28.10.0",
"node-gyp": "^10.0.1",
"prettier": "^3.2.5",
"typescript": "~5.4.2"
Expand All @@ -45,7 +43,7 @@
"@types/react": "^18",
"@types/react-dom": "^18"
},
"prettier": "@spotify/prettier-config",
"prettier": "@backstage/cli/config/prettier",
"lint-staged": {
"*.{js,jsx,ts,tsx,mjs,cjs}": [
"eslint --fix",
Expand Down
60 changes: 29 additions & 31 deletions packages/app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,45 +17,43 @@
"@backstage-community/plugin-github-actions": "^0.6.16",
"@backstage-community/plugin-github-pull-requests-board": "^0.2.1",
"@backstage-community/plugin-todo": "^0.2.39",
"@backstage/app-defaults": "^1.5.4",
"@backstage/catalog-model": "^1.4.5",
"@backstage/app-defaults": "^1.5.15",
"@backstage/catalog-model": "^1.7.2",
"@backstage/cli": "^0.29.4",
"@backstage/core-app-api": "^1.12.4",
"@backstage/core-components": "^0.14.5",
"@backstage/core-plugin-api": "^1.9.2",
"@backstage/integration-react": "^1.1.26",
"@backstage/plugin-api-docs": "^0.11.4",
"@backstage/plugin-catalog": "^1.19.0",
"@backstage/plugin-catalog-common": "^1.0.22",
"@backstage/plugin-catalog-graph": "^0.4.4",
"@backstage/plugin-catalog-import": "^0.10.10",
"@backstage/plugin-catalog-react": "^1.11.3",
"@backstage/plugin-catalog-unprocessed-entities": "^0.2.3",
"@backstage/plugin-devtools": "^0.1.13",
"@backstage/plugin-devtools-common": "^0.1.9",
"@backstage/plugin-home": "^0.7.3",
"@backstage/plugin-org": "^0.6.24",
"@backstage/plugin-permission-react": "^0.4.22",
"@backstage/plugin-scaffolder": "^1.19.3",
"@backstage/plugin-search": "^1.4.10",
"@backstage/plugin-search-react": "^1.7.10",
"@backstage/plugin-techdocs": "^1.10.4",
"@backstage/plugin-techdocs-module-addons-contrib": "^1.1.9",
"@backstage/plugin-techdocs-react": "^1.2.3",
"@backstage/plugin-user-settings": "^0.8.5",
"@backstage/theme": "^0.5.3",
"@backstage/core-app-api": "^1.15.3",
"@backstage/core-components": "^0.16.2",
"@backstage/core-plugin-api": "^1.10.2",
"@backstage/integration-react": "^1.2.2",
"@backstage/plugin-api-docs": "^0.12.2",
"@backstage/plugin-catalog": "^1.26.0",
"@backstage/plugin-catalog-common": "^1.1.2",
"@backstage/plugin-catalog-graph": "^0.4.14",
"@backstage/plugin-catalog-import": "^0.12.8",
"@backstage/plugin-catalog-react": "^1.15.0",
"@backstage/plugin-catalog-unprocessed-entities": "^0.2.12",
"@backstage/plugin-devtools": "^0.1.22",
"@backstage/plugin-devtools-common": "^0.1.14",
"@backstage/plugin-home": "^0.8.3",
"@backstage/plugin-org": "^0.6.34",
"@backstage/plugin-permission-react": "^0.4.29",
"@backstage/plugin-scaffolder": "^1.27.3",
"@backstage/plugin-search": "^1.4.21",
"@backstage/plugin-search-react": "^1.8.4",
"@backstage/plugin-techdocs": "^1.12.0",
"@backstage/plugin-techdocs-module-addons-contrib": "^1.1.19",
"@backstage/plugin-techdocs-react": "^1.2.12",
"@backstage/plugin-user-settings": "^0.8.17",
"@backstage/theme": "^0.6.3",
"@material-ui/core": "^4.12.4",
"@material-ui/icons": "^4.11.3",
"@roadiehq/backstage-plugin-github-insights": "^2.3.28",
"history": "^5.3.0",
"@roadiehq/backstage-plugin-github-insights": "^2.5.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router": "^6.22.1",
"react-router-dom": "^6.22.1",
"react-use": "^17.5.0"
"react-router-dom": "^6.22.1"
},
"devDependencies": {
"@backstage/test-utils": "^1.5.4",
"@backstage/test-utils": "^1.7.3",
"@playwright/test": "^1.41.2",
"@testing-library/dom": "^10.0.0",
"@testing-library/jest-dom": "^6.4.2",
Expand Down
3 changes: 2 additions & 1 deletion packages/app/src/components/Root/Root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React, { PropsWithChildren } from 'react';
import { makeStyles } from '@material-ui/core';
import ExtensionIcon from '@material-ui/icons/Extension';
import { FeatureFlagged } from '@backstage/core-app-api';
import { CatalogIcon, GroupIcon } from '@backstage/core-components';
import { CatalogIcon } from '@backstage/core-components';
import LibraryBooks from '@material-ui/icons/LibraryBooks';
import CreateComponentIcon from '@material-ui/icons/AddCircleOutline';
import LogoFull from './LogoFull';
Expand All @@ -29,6 +29,7 @@ import {
import { RequirePermission } from '@backstage/plugin-permission-react';
import { devToolsAdministerPermission } from '@backstage/plugin-devtools-common';
import { MyGroupsSidebarItem } from '@backstage/plugin-org';
import GroupIcon from '@material-ui/icons/People';

const useSidebarLogoStyles = makeStyles({
root: {
Expand Down
64 changes: 32 additions & 32 deletions packages/backend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,49 +17,49 @@
},
"dependencies": {
"@backstage-community/plugin-todo-backend": "^0.3.17",
"@backstage/backend-common": "^0.21.7",
"@backstage/backend-defaults": "^0.2.17",
"@backstage/backend-plugin-api": "^0.6.17",
"@backstage/backend-tasks": "^0.5.22",
"@backstage/catalog-client": "^1.6.4",
"@backstage/catalog-model": "^1.4.5",
"@backstage/config": "^1.2.0",
"@backstage/plugin-app-backend": "^0.3.65",
"@backstage/plugin-auth-backend": "^0.22.4",
"@backstage/plugin-auth-node": "^0.4.12",
"@backstage/plugin-catalog-backend": "^1.21.1",
"@backstage/plugin-catalog-backend-module-github": "^0.6.0",
"@backstage/plugin-catalog-backend-module-github-org": "^0.1.12",
"@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "^0.1.15",
"@backstage/plugin-catalog-backend-module-unprocessed": "^0.4.4",
"@backstage/plugin-devtools-backend": "^0.3.3",
"@backstage/plugin-permission-backend": "^0.5.41",
"@backstage/plugin-permission-common": "^0.7.13",
"@backstage/plugin-permission-node": "^0.7.28",
"@backstage/plugin-proxy-backend": "^0.4.15",
"@backstage/plugin-scaffolder-backend": "^1.22.4",
"@backstage/plugin-search-backend": "^1.5.7",
"@backstage/plugin-search-backend-module-catalog": "^0.1.23",
"@backstage/plugin-search-backend-module-techdocs": "^0.1.22",
"@backstage/plugin-search-backend-node": "^1.2.21",
"@backstage/plugin-techdocs-backend": "^1.10.4",
"@backstage/backend-common": "^0.25.0",
"@backstage/backend-defaults": "^0.6.1",
"@backstage/backend-plugin-api": "^1.1.0",
"@backstage/backend-tasks": "^0.6.1",
"@backstage/catalog-client": "^1.9.0",
"@backstage/catalog-model": "^1.7.2",
"@backstage/config": "^1.3.1",
"@backstage/plugin-app-backend": "^0.4.3",
"@backstage/plugin-auth-backend": "^0.24.1",
"@backstage/plugin-auth-node": "^0.5.5",
"@backstage/plugin-catalog-backend": "^1.29.0",
"@backstage/plugin-catalog-backend-module-github": "^0.7.8",
"@backstage/plugin-catalog-backend-module-github-org": "^0.3.5",
"@backstage/plugin-catalog-backend-module-logs": "^0.1.5",
"@backstage/plugin-catalog-backend-module-scaffolder-entity-model": "^0.2.3",
"@backstage/plugin-catalog-backend-module-unprocessed": "^0.5.3",
"@backstage/plugin-devtools-backend": "^0.5.0",
"@backstage/plugin-permission-backend": "^0.5.52",
"@backstage/plugin-permission-common": "^0.8.3",
"@backstage/plugin-permission-node": "^0.8.6",
"@backstage/plugin-proxy-backend": "^0.5.9",
"@backstage/plugin-scaffolder-backend": "^1.28.0",
"@backstage/plugin-scaffolder-backend-module-github": "^0.5.4",
"@backstage/plugin-search-backend": "^1.8.0",
"@backstage/plugin-search-backend-module-catalog": "^0.2.6",
"@backstage/plugin-search-backend-module-techdocs": "^0.3.4",
"@backstage/plugin-search-backend-node": "^1.3.6",
"@backstage/plugin-techdocs-backend": "^1.11.4",
"@internal/backstage-plugin-catalog-backend-module-transformer": "^0.1.0",
"@internal/backstage-plugin-permission-backend-module-rabe": "../../plugins/permission-backend-module-rabe/",
"@janus-idp/backstage-plugin-keycloak-backend": "^1.9.1",
"@roadiehq/scaffolder-backend-module-http-request": "^4.3.1",
"@janus-idp/backstage-plugin-keycloak-backend": "^1.9.14",
"@roadiehq/scaffolder-backend-module-http-request": "^5.2.0",
"app": "link:../app",
"better-sqlite3": "^9.4.3",
"dockerode": "^4.0.2",
"express": "^4.18.2",
"express-promise-router": "^4.1.1",
"node-gyp": "^10.0.1",
"pg": "^8.11.4",
"winston": "^3.11.0"
"pg": "^8.11.4"
},
"devDependencies": {
"@backstage/cli": "^0.29.4",
"@types/dockerode": "^3",
"@types/express": "^4",
"@types/express-serve-static-core": "^4",
"@types/luxon": "^3"
},
"files": [
Expand Down
26 changes: 16 additions & 10 deletions packages/backend/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@ import { legacyPlugin } from '@backstage/backend-common';

const backend = createBackend();

backend.add(import('@backstage/plugin-app-backend/alpha'));
backend.add(import('@backstage/plugin-proxy-backend/alpha'))
backend.add(import('@backstage/plugin-techdocs-backend/alpha'));
backend.add(import('@backstage/plugin-scaffolder-backend/alpha'));
backend.add(import('@backstage/plugin-app-backend'));
backend.add(import('@backstage/plugin-proxy-backend'))
backend.add(import('@backstage/plugin-techdocs-backend'));
backend.add(import('@backstage/plugin-scaffolder-backend'));
backend.add(import('@backstage/plugin-scaffolder-backend-module-github'));
backend.add(
import('@roadiehq/scaffolder-backend-module-http-request/new-backend'),
);
Expand All @@ -16,17 +17,22 @@ backend.add(
backend.add(legacyPlugin('auth', import('./plugins/auth')));

// catalog plugin
// TODO switch to new catalog backend once @janus-idp/backstage-plugin-keycloak-backend supports transformers
backend.add(legacyPlugin('catalog', import('./plugins/catalog')));
backend.add(import('@backstage/plugin-catalog-backend'));
backend.add(import('@backstage/plugin-catalog-backend-module-logs'));
backend.add(
import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'),
);
backend.add(import('@janus-idp/backstage-plugin-keycloak-backend/alpha'));
backend.add(import('@internal/backstage-plugin-catalog-backend-module-transformer'))

// permission plugin
backend.add(import('@backstage/plugin-permission-backend/alpha'));
backend.add(import('@backstage/plugin-permission-backend'));
backend.add(import('@internal/backstage-plugin-permission-backend-module-rabe'));

// search plugin
backend.add(import('@backstage/plugin-search-backend/alpha'));
backend.add(import('@backstage/plugin-search-backend-module-catalog/alpha'));
backend.add(import('@backstage/plugin-search-backend-module-techdocs/alpha'));
backend.add(import('@backstage/plugin-search-backend'));
backend.add(import('@backstage/plugin-search-backend-module-catalog'));
backend.add(import('@backstage/plugin-search-backend-module-techdocs'));

// todo plugin
backend.add(import('@backstage-community/plugin-todo-backend'));
Expand Down
71 changes: 0 additions & 71 deletions packages/backend/src/plugins/catalog.ts

This file was deleted.

1 change: 1 addition & 0 deletions plugins/catalog-backend-module-transformer/.eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = require('@backstage/cli/config/eslint-factory')(__dirname);
6 changes: 6 additions & 0 deletions plugins/catalog-backend-module-transformer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# @internal/backstage-plugin-catalog-backend-module-transformer

The transformer backend module for the catalog plugin sets up user and group
transformers for the keycloak plugin.

_This plugin was created through the Backstage CLI_
Loading

0 comments on commit da200c9

Please sign in to comment.