diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 1b98ae4..627bf28 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -22,7 +22,7 @@ jobs: id-token: none strategy: matrix: - node-version: [20] + node-version: [22] steps: - uses: actions/checkout@v4 with: @@ -41,4 +41,5 @@ jobs: report-json: "eslint_report.json" only-pr-files: false continue-on-error: true + - run: yarn tsc - run: yarn test diff --git a/.gitignore b/.gitignore index 9267554..17acc2b 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,7 @@ coverage # Dependencies node_modules -# Yarn 3 files +# Yarn files .pnp.* .yarn/* !.yarn/patches diff --git a/Dockerfile b/Dockerfile index 8bc124f..5a4a4d2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Stage 1 - Install dependencies -FROM registry.access.redhat.com/ubi9/nodejs-20:latest AS deps +FROM registry.access.redhat.com/ubi9/nodejs-22:latest AS deps USER 0 # Install yarn and libs for building isolated-vm with node-gyp @@ -19,7 +19,7 @@ RUN yarn install --immutable --network-timeout 600000 RUN chown 1001:0 ".yarn/install-state.gz" # Stage 2 - Build packages -FROM registry.access.redhat.com/ubi9/nodejs-20:latest AS build +FROM registry.access.redhat.com/ubi9/nodejs-22:latest AS build USER 0 # Install yarn @@ -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.8.0 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 diff --git a/README.md b/README.md index 3b683ee..9c51177 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ yarn dev To keep it updated, run: ```sh -yarn backstage-cli versions:bump --pattern '@{backstage,roadiehq,janus-idp}/*' +yarn backstage-cli versions:bump --pattern '@{backstage,backstage-community,roadiehq,janus-idp}/*' ``` ## Release Management diff --git a/backstage.json b/backstage.json index ce16faf..22366f4 100644 --- a/backstage.json +++ b/backstage.json @@ -1,3 +1,3 @@ { - "version": "1.26.4" + "version": "1.34.2" } diff --git a/lerna.json b/lerna.json deleted file mode 100644 index 529a62f..0000000 --- a/lerna.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "packages": ["packages/*", "plugins/*"], - "npmClient": "yarn", - "version": "0.1.0", - "$schema": "node_modules/lerna/schemas/lerna-schema.json" -} diff --git a/package.json b/package.json index 0a9db4e..9b7bc81 100644 --- a/package.json +++ b/package.json @@ -3,10 +3,10 @@ "version": "1.0.0", "private": true, "engines": { - "node": "18 || 20" + "node": "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", @@ -32,20 +32,18 @@ "@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", - "node-gyp": "^10.0.1", + "eslint-plugin-jest": "^28.10.0", + "node-gyp": "^11.0.0", "prettier": "^3.2.5", - "typescript": "~5.4.2" + "typescript": "~5.7.2" }, "resolutions": { "@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", diff --git a/packages/app/package.json b/packages/app/package.json index 090dcb2..f5e1629 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -14,54 +14,52 @@ "lint": "backstage-cli package lint" }, "dependencies": { - "@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-community/plugin-github-actions": "^0.7.0", + "@backstage-community/plugin-github-pull-requests-board": "^0.3.0", + "@backstage-community/plugin-todo": "^0.3.0", + "@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", "@testing-library/react": "^16.1.0", "@testing-library/user-event": "^14.5.2", - "@types/node": "^20", + "@types/node": "^22", "@types/react": "^18", "@types/react-dom": "^18", "cross-env": "^7.0.3" diff --git a/packages/app/public/index.html b/packages/app/public/index.html index 18da7c4..0c5fc4b 100644 --- a/packages/app/public/index.html +++ b/packages/app/public/index.html @@ -6,7 +6,7 @@