Skip to content

Commit 284d5a0

Browse files
committed
deps: Update Backstage 1.37.0 to 1.39.0
1 parent 61b8dac commit 284d5a0

File tree

20 files changed

+1712
-1504
lines changed

20 files changed

+1712
-1504
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ logs
77
npm-debug.log*
88
yarn-debug.log*
99
yarn-error.log*
10-
lerna-debug.log*
1110

1211
# Coverage directory generated when running tests with coverage
1312
coverage

.yarn/plugins/@yarnpkg/plugin-backstage.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
module.exports = {
44
name: "@yarnpkg/plugin-backstage",
55
factory: function (require) {
6-
"use strict";var plugin=(()=>{var V=Object.create;var w=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var c=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var W=(e,t)=>{for(var r in t)w(e,r,{get:t[r],enumerable:!0})},$=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of C(t))!F.call(e,o)&&o!==r&&w(e,o,{get:()=>t[o],enumerable:!(n=A(t,o))||n.enumerable});return e};var B=(e,t,r)=>(r=e!=null?V(M(e)):{},$(t||!e||!e.__esModule?w(r,"default",{value:e,enumerable:!0}):r,e)),G=e=>$(w({},"__esModule",{value:!0}),e);var ee={};W(ee,{default:()=>Z});var y=c("@yarnpkg/core");var d=c("@yarnpkg/core");var m=c("@yarnpkg/core");var _="https://versions.backstage.io",I="https://raw.githubusercontent.com/backstage/versions/main";function N(e,t){return new Promise((r,n)=>{let o=setTimeout(()=>{t.aborted||r()},e);t.addEventListener("abort",()=>{clearTimeout(o),n(new Error("Aborted"))})})}async function J(e,t,r){let n=new AbortController,o=new AbortController,a=e(n.signal).then(s=>(o.abort(),s)),i=N(r,o.signal).then(()=>t(o.signal)).then(s=>(n.abort(),s));return Promise.any([a,i]).catch(()=>a)}async function v(e){let t=encodeURIComponent(e.version),r=e.fetch??fetch,n=await J(o=>r(`${_}/v1/releases/${t}/manifest.json`,{signal:o}),o=>r(`${I}/v1/releases/${t}/manifest.json`,{signal:o}),500);if(n.status===404)throw new Error(`No release found for ${e.version} version`);if(n.status!==200)throw new Error(`Unexpected response status ${n.status} when fetching release from ${n.url}.`);return n.json()}var f="backstage:";var S=B(c("assert")),j=c("semver"),k=c("@yarnpkg/fslib");var l=B(c("fs")),p=c("path");function E(e,t){let r=e;for(let n=0;n<1e3;n++){let o=(0,p.resolve)(r,"package.json");if(l.default.existsSync(o)&&t(o))return r;let i=(0,p.dirname)(r);if(i===r)return;r=i}throw new Error(`Iteration limit reached when searching for root package.json at ${e}`)}function H(e){let t=E(e,()=>!0);if(!t)throw new Error(`No package.json found while searching for package root of ${e}`);return t}function z(e){if(!l.default.existsSync((0,p.resolve)(e,"src")))throw new Error("Tried to access monorepo package root dir outside of Backstage repository");return(0,p.resolve)(e,"../..")}function R(e){let t=H(e),r=l.default.realpathSync(process.cwd()).replace(/^[a-z]:/,s=>s.toLocaleUpperCase("en-US")),n="",o=()=>(n||(n=z(t)),n),a="",i=()=>(a||(a=E(r,s=>{try{let g=l.default.readFileSync(s,"utf8"),U=JSON.parse(g);return Boolean(U.workspaces)}catch(g){throw new Error(`Failed to parse package.json file while searching for root, ${g}`)}})??r),a);return{ownDir:t,get ownRoot(){return o()},targetDir:r,get targetRoot(){return i()},resolveOwn:(...s)=>(0,p.resolve)(t,...s),resolveOwnRoot:(...s)=>(0,p.resolve)(o(),...s),resolveTarget:(...s)=>(0,p.resolve)(r,...s),resolveTargetRoot:(...s)=>(0,p.resolve)(i(),...s)}}var P="backstage.json";var T=e=>{let t=!1,r;return()=>(t||(r=e(),t=!0),r)};var u=c("@yarnpkg/fslib");var D=()=>u.npath.toPortablePath(R(u.npath.fromPortablePath(u.ppath.cwd())).targetRoot);var L=T(()=>{let e=k.ppath.join(D(),P),t=null;try{t=(0,j.valid)(k.xfs.readJsonSync(e).version),(0,S.default)(t!==null)}catch{throw new Error("Valid version string not found in backstage.json")}return t});var h=async(e,t)=>{let r=m.structUtils.stringifyIdent(e),n=m.structUtils.parseRange(e.range);if(n.protocol!==f)throw new Error(`Unsupported version protocol in version range "${e.range}" for package ${r}`);if(n.selector!=="^")throw new Error(`Unexpected version selector "${n.selector}" for package ${r}`);let o=L(),i=(await v({version:o,fetch:async s=>{let g=await m.httpUtils.get(s,{configuration:t,jsonResponse:!0});return{status:200,url:s,json:()=>g}}})).packages.find(s=>s.name===r);if(!i)throw new Error(`Package ${r} not found in manifest for Backstage v${o}. This means the specified package is not included in this Backstage release. This may imply the package has been replaced with an alternative - please review the documentation for the package. If you need to continue using this package, it will be necessary to switch to manually managing its version.`);return i.version};var K=e=>d.structUtils.parseRange(e).protocol===f,Y=(e,t,r)=>e!=="dependencies"?e:r.manifest.ensureDependencyMeta(d.structUtils.makeDescriptor(t,"unknown")).optional?"optionalDependencies":e,x=async(e,t)=>{for(let r of["dependencies","devDependencies"]){let n=Array.from(e.manifest.getForScope(r).values()).filter(o=>o.range.startsWith(f));for(let o of n){let a=d.structUtils.stringifyIdent(o);if(d.structUtils.parseRange(o.range).selector!=="^")throw new Error(`Unexpected version range "${o.range}" for dependency on "${a}"`);let s=Y(r,o,e);t[s][a]=`^${await h(o,e.project.configuration)}`}}if(["dependencies","devDependencies","optionalDependencies"].some(r=>Object.values(t[r]??{}).some(K)))throw new Error(`Failed to replace all "backstage:" ranges in manifest for ${t.name}`)};var b=c("@yarnpkg/core");var O=async(e,t)=>b.structUtils.parseRange(e.range).protocol===f?b.structUtils.makeDescriptor(e,`npm:^${await h(e,t.configuration)}`):e;var q="\x1B[31;1m",Q="\x1B[0m";y.semverUtils.satisfiesWithPrereleases(y.YarnVersion,"^4.1.1")||(console.error(),console.error(`${q}Unsupported yarn version${Q}: The Backstage yarn plugin only works with yarn ^4.1.1. Please upgrade yarn, or remove this plugin with "yarn plugin remove @yarnpkg/plugin-backstage".`),console.error());var X={hooks:{reduceDependency:O,beforeWorkspacePacking:x}},Z=X;return G(ee);})();
6+
"use strict";var plugin=(()=>{var j=Object.create;var R=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var H=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var c=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var N=(e,r)=>{for(var t in r)R(e,t,{get:r[t],enumerable:!0})},U=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of F(r))!W.call(e,o)&&o!==t&&R(e,o,{get:()=>r[o],enumerable:!(n=M(r,o))||n.enumerable});return e};var T=(e,r,t)=>(t=e!=null?j(H(e)):{},U(r||!e||!e.__esModule?R(t,"default",{value:e,enumerable:!0}):t,e)),G=e=>U(R({},"__esModule",{value:!0}),e);var te={};N(te,{default:()=>re});var P=c("@yarnpkg/core");var k=c("@yarnpkg/core");var C=T(c("assert")),A=c("semver"),y=c("@yarnpkg/fslib");var m=T(c("fs")),p=c("path");function S(e,r){let t=e;for(let n=0;n<1e3;n++){let o=(0,p.resolve)(t,"package.json");if(m.default.existsSync(o)&&r(o))return t;let i=(0,p.dirname)(t);if(i===t)return;t=i}throw new Error(`Iteration limit reached when searching for root package.json at ${e}`)}function I(e){let r=S(e,()=>!0);if(!r)throw new Error(`No package.json found while searching for package root of ${e}`);return r}function _(e){if(!m.default.existsSync((0,p.resolve)(e,"src")))throw new Error("Tried to access monorepo package root dir outside of Backstage repository");return(0,p.resolve)(e,"../..")}function b(e){let r=I(e),t=m.default.realpathSync(process.cwd()).replace(/^[a-z]:/,s=>s.toLocaleUpperCase("en-US")),n="",o=()=>(n||(n=_(r)),n),a="",i=()=>(a||(a=S(t,s=>{try{let f=m.default.readFileSync(s,"utf8");return!!JSON.parse(f).workspaces}catch(f){throw new Error(`Failed to parse package.json file while searching for root, ${f}`)}})??t),a);return{ownDir:r,get ownRoot(){return o()},targetDir:t,get targetRoot(){return i()},resolveOwn:(...s)=>(0,p.resolve)(r,...s),resolveOwnRoot:(...s)=>(0,p.resolve)(o(),...s),resolveTarget:(...s)=>(0,p.resolve)(t,...s),resolveTargetRoot:(...s)=>(0,p.resolve)(i(),...s)}}var x="backstage.json";var L=e=>{let r=!1,t;return()=>(r||(t=e(),r=!0),t)};var u=c("@yarnpkg/fslib");var V=()=>u.npath.toPortablePath(b(u.npath.fromPortablePath(u.ppath.cwd())).targetRoot);var h=L(()=>{let e=y.ppath.join(V(),x),r=null;try{r=(0,A.valid)(y.xfs.readJsonSync(e).version),(0,C.default)(r!==null)}catch{throw new Error("Valid version string not found in backstage.json")}return r});var w=c("@yarnpkg/core");var J="https://versions.backstage.io",z="https://raw.githubusercontent.com/backstage/versions/main";function K(e,r){return new Promise((t,n)=>{let o=setTimeout(()=>{r.aborted||t()},e);r.addEventListener("abort",()=>{clearTimeout(o),n(new Error("Aborted"))})})}async function Y(e,r,t){let n=new AbortController,o=new AbortController,a=e(n.signal).then(s=>(o.abort(),s)),i=K(t,o.signal).then(()=>r(o.signal)).then(s=>(n.abort(),s));return Promise.any([a,i]).catch(()=>a)}async function B(e){let r=encodeURIComponent(e.version),t=e.fetch??fetch,n=e.versionsBaseUrl??J,o=e.gitHubRawBaseUrl??z,a=await Y(i=>t(`${n}/v1/releases/${r}/manifest.json`,{signal:i}),i=>t(`${o}/v1/releases/${r}/manifest.json`,{signal:i}),500);if(a.status===404)throw new Error(`No release found for ${e.version} version`);if(a.status!==200)throw new Error(`Unexpected response status ${a.status} when fetching release from ${a.url}.`);return a.json()}var g="backstage:";var d=async(e,r)=>{let t=w.structUtils.stringifyIdent(e),n=w.structUtils.parseRange(e.range);if(n.protocol!==g)throw new Error(`Unsupported version protocol in version range "${e.range}" for package ${t}`);if(n.selector!=="^")throw new Error(`Unexpected version selector "${n.selector}" for package ${t}`);let o=h(),i=(await B({version:o,fetch:async s=>{let f=await w.httpUtils.get(s,{configuration:r,jsonResponse:!0});return{status:200,url:s,json:()=>f}}})).packages.find(s=>s.name===t);if(!i)throw new Error(`Package ${t} not found in manifest for Backstage v${o}. This means the specified package is not included in this Backstage release. This may imply the package has been replaced with an alternative - please review the documentation for the package. If you need to continue using this package, it will be necessary to switch to manually managing its version.`);return i.version};var q=e=>k.structUtils.parseRange(e).protocol===g,Q=(e,r,t)=>e!=="dependencies"?e:t.manifest.ensureDependencyMeta(k.structUtils.makeDescriptor(r,"unknown")).optional?"optionalDependencies":e,D=async(e,r)=>{for(let t of["dependencies","devDependencies"]){let n=Array.from(e.manifest.getForScope(t).values()).filter(o=>o.range.startsWith(g));for(let o of n){let a=k.structUtils.stringifyIdent(o);if(k.structUtils.parseRange(o.range).selector!=="^")throw new Error(`Unexpected version range "${o.range}" for dependency on "${a}"`);let s=Q(t,o,e);r[s][a]=`^${await d(o,e.project.configuration)}`}}if(["dependencies","devDependencies","optionalDependencies"].some(t=>Object.values(r[t]??{}).some(q)))throw new Error(`Failed to replace all "backstage:" ranges in manifest for ${r.name}`)};var O=c("@yarnpkg/core");var $=async(e,r)=>{let t=O.structUtils.parseRange(e.range);if(t.protocol!==g)return e;if(t.selector!=="^")throw new Error(`Invalid backstage: version range found: ${e.range}`);return O.structUtils.bindDescriptor(e,{backstage:h(),npm:await d(e,r.configuration)})};var l=c("@yarnpkg/core"),E=c("@yarnpkg/plugin-npm");var v=class e{static protocol=g;supportsDescriptor=r=>r.range.startsWith(e.protocol);async getCandidates(r,t,n){let o=l.structUtils.parseRange(r.range).params?.npm;if(!o||Array.isArray(o))throw new Error(`Missing npm parameter on backstage: range "${r.range}"`);return new E.NpmSemverResolver().getCandidates(l.structUtils.makeDescriptor(r,`npm:^${o}`),t,n)}getResolutionDependencies(r){let t=l.structUtils.parseRange(r.range).params?.npm;if(!t)throw new Error(`Missing npm parameter on backstage: range "${r.range}".`);return{[l.structUtils.stringifyIdent(r)]:l.structUtils.makeDescriptor(r,`npm:^${t}`)}}async getSatisfying(r,t,n,o){let a=r,i=l.structUtils.parseRange(a.range);if(i.protocol===g){let s=i.params?.npm;a=l.structUtils.makeDescriptor(r,`npm:^${s}`)}return new E.NpmSemverResolver().getSatisfying(a,t,n,o)}bindDescriptor=r=>r;supportsLocator=()=>!1;shouldPersistResolution=()=>{throw new Error("Unreachable: BackstageNpmResolver should never persist resolution as it uses npm: protocol")};resolve=async()=>{throw new Error("Unreachable: BackstageNpmResolver should never resolve as it uses npm: protocol")}};var X="\x1B[31;1m",Z="\x1B[0m";P.semverUtils.satisfiesWithPrereleases(P.YarnVersion,"^4.1.1")||(console.error(),console.error(`${X}Unsupported yarn version${Z}: The Backstage yarn plugin only works with yarn ^4.1.1. Please upgrade yarn, or remove this plugin with "yarn plugin remove @yarnpkg/plugin-backstage".`),console.error());var ee={hooks:{reduceDependency:$,beforeWorkspacePacking:D},resolvers:[v]},re=ee;return G(te);})();
77
return plugin;
88
}
99
};

.yarnrc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
nodeLinker: node-modules
22

33
plugins:
4-
- checksum: 254c816a15098e2a0b414345caf9144409fbf6a63da7ec8ec8d3454aa1d2edfbbc32cd264d8c464b7ec4aca7809c690848a7c1191b5f8167dec81dbdf6107b01
4+
- checksum: 5e9fde8695ba2fd9e9e4bcc285a8817a491b6819bd1c8070cf55a34d8cff25b6da8af58d0a2e63be4dfcc38d883811a43aeb092b26a62f734458a4425bdda0b1
55
path: .yarn/plugins/@yarnpkg/plugin-backstage.cjs
6-
spec: 'https://versions.backstage.io/v1/releases/1.37.0/yarn-plugin'
6+
spec: 'https://versions.backstage.io/v1/releases/1.39.0/yarn-plugin'
77

88
yarnPath: .yarn/releases/yarn-4.4.1.cjs

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ You can run the application on your local environment using `yarn`:
1212

1313
```shell
1414
yarn install
15-
yarn dev
15+
yarn start
1616
```
1717

1818
## 🛡️&nbsp; Security

backstage.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"version": "1.37.0"
2+
"version": "1.39.0"
33
}

package.json

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
"node": "20 || 22"
77
},
88
"scripts": {
9-
"dev": "yarn workspaces foreach -A --include backend --include app --parallel --jobs unlimited -v -i run start",
10-
"dev:start": "yarn workspaces foreach -A --include backend --include app --parallel -v -i run start",
11-
"start": "yarn workspace app start",
12-
"start-backend": "yarn workspace backend start",
9+
"start": "backstage-cli repo start",
1310
"build:backend": "yarn workspace backend build",
1411
"build:all": "backstage-cli repo build --all",
1512
"build-image": "yarn workspace backend build-image",
@@ -34,12 +31,12 @@
3431
"devDependencies": {
3532
"@backstage/cli": "backstage:^",
3633
"@backstage/e2e-test-utils": "backstage:^",
37-
"@playwright/test": "^1.51.1",
34+
"@playwright/test": "^1.52.0",
3835
"@spotify/prettier-config": "^15.0.0",
3936
"env-cmd": "^10.1.0",
40-
"node-gyp": "^11.1.0",
37+
"node-gyp": "^11.2.0",
4138
"prettier": "^3.5.3",
42-
"typescript": "~5.8.2"
39+
"typescript": "~5.8.3"
4340
},
4441
"resolutions": {
4542
"@types/react": "^18",

packages/app/package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
"lint": "backstage-cli package lint"
1515
},
1616
"dependencies": {
17-
"@backstage-community/plugin-github-actions": "^0.9.0",
18-
"@backstage-community/plugin-sonarqube": "^0.11.0",
17+
"@backstage-community/plugin-github-actions": "^0.11.0",
18+
"@backstage-community/plugin-sonarqube": "^0.12.1",
1919
"@backstage/app-defaults": "backstage:^",
2020
"@backstage/canon": "backstage:^",
2121
"@backstage/catalog-model": "backstage:^",
@@ -51,17 +51,17 @@
5151
"history": "^5.3.0",
5252
"react": "^18.3.1",
5353
"react-dom": "^18.3.1",
54-
"react-router": "^6.30.0",
55-
"react-router-dom": "^6.30.0"
54+
"react-router": "^6.30.1",
55+
"react-router-dom": "^6.30.1"
5656
},
5757
"devDependencies": {
5858
"@backstage/test-utils": "backstage:^",
59-
"@playwright/test": "^1.51.1",
59+
"@playwright/test": "^1.52.0",
6060
"@testing-library/dom": "^10.4.0",
6161
"@testing-library/jest-dom": "^6.6.3",
62-
"@testing-library/react": "^16.2.0",
62+
"@testing-library/react": "^16.3.0",
6363
"@testing-library/user-event": "^14.6.1",
64-
"@types/react-dom": "^18.3.5",
64+
"@types/react-dom": "^18.3.7",
6565
"cross-env": "^7.0.3"
6666
},
6767
"browserslist": {

packages/app/src/App.test.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { render, waitFor } from '@testing-library/react';
32
import App from './App';
43

packages/app/src/App.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { Route } from 'react-router-dom';
32
import { apiDocsPlugin, ApiExplorerPage } from '@backstage/plugin-api-docs';
43
import {

packages/app/src/components/Root/LogoFull.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import React from 'react';
21
import { makeStyles } from '@material-ui/core';
32

43
const useStyles = makeStyles({

0 commit comments

Comments
 (0)