Skip to content

Commit 932b6ba

Browse files
committed
feat: Add GitHub Code and Security Insights plugin
1 parent 45a6a8e commit 932b6ba

File tree

4 files changed

+155
-6
lines changed

4 files changed

+155
-6
lines changed

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,5 +55,8 @@
5555
"prettier --write"
5656
]
5757
},
58-
"packageManager": "[email protected]"
58+
"packageManager": "[email protected]",
59+
"dependencies": {
60+
"@roadiehq/backstage-plugin-security-insights": "^2.3.20"
61+
}
5962
}

packages/app/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@
4444
"@dweber019/backstage-plugin-endoflife": "^0.0.14",
4545
"@material-ui/core": "^4.12.2",
4646
"@material-ui/icons": "^4.9.1",
47+
"@roadiehq/backstage-plugin-github-insights": "^2.4.1",
48+
"@roadiehq/backstage-plugin-security-insights": "^2.3.20",
4749
"history": "^5.0.0",
4850
"react": "^18.0.2",
4951
"react-dom": "^18.0.2",

packages/app/src/components/catalog/EntityPage.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ import {
5858
import { TechDocsAddons } from '@backstage/plugin-techdocs-react';
5959
import { ReportIssue } from '@backstage/plugin-techdocs-module-addons-contrib';
6060
import { EntitySonarQubeCard } from '@backstage-community/plugin-sonarqube';
61+
import { EntityGithubInsightsContent } from '@roadiehq/backstage-plugin-github-insights';
62+
import { EntitySecurityInsightsContent } from '@roadiehq/backstage-plugin-security-insights';
6163

6264
import {
6365
EntityKubernetesContent,
@@ -159,7 +161,6 @@ const overviewContent = (
159161
<Grid item md={8} xs={12}>
160162
<EntityHasSubcomponentsCard variant="gridItem" />
161163
</Grid>
162-
163164
</Grid>
164165
);
165166

@@ -206,6 +207,14 @@ const serviceEntityPage = (
206207
<EntityLayout.Route path="/docs" title="Docs">
207208
{techdocsContent}
208209
</EntityLayout.Route>
210+
211+
<EntityLayout.Route path="/code-insights" title="Code Insights">
212+
<EntityGithubInsightsContent />
213+
</EntityLayout.Route>
214+
215+
<EntityLayout.Route path="/security-insights" title="Security Insights">
216+
<EntitySecurityInsightsContent />
217+
</EntityLayout.Route>
209218
</EntityLayout>
210219
);
211220

yarn.lock

Lines changed: 139 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5788,6 +5788,13 @@ __metadata:
57885788
languageName: node
57895789
linkType: hard
57905790

5791+
"@date-io/core@npm:2.10.7":
5792+
version: 2.10.7
5793+
resolution: "@date-io/core@npm:2.10.7"
5794+
checksum: 10c0/6194df0025e0ba6ab65d89ab7e2a3a1c96571bb51f877d9bf8ee2cc086ddfcdb920a844734feadd56087a80bdda3f1d990e2ffa2039686f8ff7c3b53bda12852
5795+
languageName: node
5796+
linkType: hard
5797+
57915798
"@date-io/date-fns@npm:^1.3.13":
57925799
version: 1.3.13
57935800
resolution: "@date-io/date-fns@npm:1.3.13"
@@ -7611,7 +7618,28 @@ __metadata:
76117618
languageName: node
76127619
linkType: hard
76137620

7614-
"@material-ui/lab@npm:4.0.0-alpha.61, @material-ui/lab@npm:^4.0.0-alpha.61":
7621+
"@material-ui/lab@npm:4.0.0-alpha.45":
7622+
version: 4.0.0-alpha.45
7623+
resolution: "@material-ui/lab@npm:4.0.0-alpha.45"
7624+
dependencies:
7625+
"@babel/runtime": "npm:^7.4.4"
7626+
"@material-ui/utils": "npm:^4.7.1"
7627+
clsx: "npm:^1.0.4"
7628+
prop-types: "npm:^15.7.2"
7629+
react-is: "npm:^16.8.0"
7630+
peerDependencies:
7631+
"@material-ui/core": ^4.9.0
7632+
"@types/react": ^16.8.6
7633+
react: ^16.8.0
7634+
react-dom: ^16.8.0
7635+
peerDependenciesMeta:
7636+
"@types/react":
7637+
optional: true
7638+
checksum: 10c0/5c07c9f9fa68a2fac4a95086de1b79758e0b2aa11fd1c3cf0783e452bb0dbd49d57a1359c3e9dd98e52e65cda6445e5b42d5d2b79283241a8cde04129fa1bfdf
7639+
languageName: node
7640+
linkType: hard
7641+
7642+
"@material-ui/lab@npm:4.0.0-alpha.61, @material-ui/lab@npm:^4.0.0-alpha.45, @material-ui/lab@npm:^4.0.0-alpha.61":
76157643
version: 4.0.0-alpha.61
76167644
resolution: "@material-ui/lab@npm:4.0.0-alpha.61"
76177645
dependencies:
@@ -7726,7 +7754,7 @@ __metadata:
77267754
languageName: node
77277755
linkType: hard
77287756

7729-
"@material-ui/utils@npm:^4.11.3":
7757+
"@material-ui/utils@npm:^4.11.3, @material-ui/utils@npm:^4.7.1":
77307758
version: 4.11.3
77317759
resolution: "@material-ui/utils@npm:4.11.3"
77327760
dependencies:
@@ -9597,6 +9625,63 @@ __metadata:
95979625
languageName: node
95989626
linkType: hard
95999627

9628+
"@roadiehq/backstage-plugin-github-insights@npm:^2.4.1":
9629+
version: 2.4.1
9630+
resolution: "@roadiehq/backstage-plugin-github-insights@npm:2.4.1"
9631+
dependencies:
9632+
"@backstage/catalog-model": "npm:^1.6.0"
9633+
"@backstage/core-components": "npm:^0.14.10"
9634+
"@backstage/core-plugin-api": "npm:^1.9.3"
9635+
"@backstage/integration-react": "npm:^1.1.30"
9636+
"@backstage/plugin-catalog-react": "npm:^1.12.3"
9637+
"@backstage/theme": "npm:^0.5.6"
9638+
"@date-io/core": "npm:2.10.7"
9639+
"@material-ui/core": "npm:^4.12.2"
9640+
"@material-ui/icons": "npm:^4.9.1"
9641+
"@material-ui/lab": "npm:4.0.0-alpha.45"
9642+
"@octokit/rest": "npm:^19.0.3"
9643+
"@octokit/types": "npm:^9.0.0"
9644+
git-url-parse: "npm:^14.0.0"
9645+
history: "npm:^5.0.0"
9646+
immer: "npm:9.0.7"
9647+
react-use: "npm:^17.2.4"
9648+
zustand: "npm:3.6.9"
9649+
peerDependencies:
9650+
react: ^16.13.1 || ^17.0.0 || ^18.0.0
9651+
react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0
9652+
react-router: 6.0.0-beta.0 || ^6.3.0
9653+
checksum: 10c0/827cc13a3ad59fe57b93ed97879c2d572c9527d1914b36c45a231ee50a67a312fb36f5943e2105fa92f9a124dd23c56a85c538d11bd95b93c80604e4487927df
9654+
languageName: node
9655+
linkType: hard
9656+
9657+
"@roadiehq/backstage-plugin-security-insights@npm:^2.3.20":
9658+
version: 2.3.20
9659+
resolution: "@roadiehq/backstage-plugin-security-insights@npm:2.3.20"
9660+
dependencies:
9661+
"@backstage/catalog-model": "npm:^1.6.0"
9662+
"@backstage/core-components": "npm:^0.14.10"
9663+
"@backstage/core-plugin-api": "npm:^1.9.3"
9664+
"@backstage/plugin-catalog-react": "npm:^1.12.3"
9665+
"@backstage/theme": "npm:^0.5.6"
9666+
"@material-ui/core": "npm:^4.12.2"
9667+
"@material-ui/icons": "npm:^4.9.1"
9668+
"@material-ui/lab": "npm:^4.0.0-alpha.45"
9669+
"@octokit/graphql": "npm:^5.0.0"
9670+
"@octokit/rest": "npm:^19.0.3"
9671+
cross-fetch: "npm:^3.1.4"
9672+
history: "npm:^5.0.0"
9673+
luxon: "npm:^3.0.0"
9674+
moment: "npm:^2.27.0"
9675+
react-minimal-pie-chart: "npm:^8.2.0"
9676+
react-use: "npm:^17.2.4"
9677+
peerDependencies:
9678+
react: ^16.13.1 || ^17.0.0 || ^18.0.0
9679+
react-dom: ^16.13.1 || ^17.0.0 || ^18.0.0
9680+
react-router: 6.0.0-beta.0 || ^6.3.0
9681+
checksum: 10c0/05a710fdf1ef5270f704d61ce4241fca87db3b958a325bf0e53cf618142f6b232047689c789dc1f8f13727492d5c6dda0e889fcc9fbbc4938220ec3baf6f07e4
9682+
languageName: node
9683+
linkType: hard
9684+
96009685
"@roadiehq/scaffolder-backend-module-http-request@npm:^4.3.4":
96019686
version: 4.3.4
96029687
resolution: "@roadiehq/scaffolder-backend-module-http-request@npm:4.3.4"
@@ -12644,6 +12729,13 @@ __metadata:
1264412729
languageName: node
1264512730
linkType: hard
1264612731

12732+
"@types/svg-path-parser@npm:^1.1.3":
12733+
version: 1.1.6
12734+
resolution: "@types/svg-path-parser@npm:1.1.6"
12735+
checksum: 10c0/128ea1028229d5bfc88f2a821df1dd5ac032501ca9d3f771ddeea8566750d4dd43576c3d6389b45b50d87bcaf58f6bcf327830233e46cf1b069d1b4c54a56160
12736+
languageName: node
12737+
linkType: hard
12738+
1264712739
"@types/tern@npm:*":
1264812740
version: 0.23.9
1264912741
resolution: "@types/tern@npm:0.23.9"
@@ -13623,6 +13715,8 @@ __metadata:
1362313715
"@material-ui/core": "npm:^4.12.2"
1362413716
"@material-ui/icons": "npm:^4.9.1"
1362513717
"@playwright/test": "npm:^1.32.3"
13718+
"@roadiehq/backstage-plugin-github-insights": "npm:^2.4.1"
13719+
"@roadiehq/backstage-plugin-security-insights": "npm:^2.3.20"
1362613720
"@testing-library/dom": "npm:^9.0.0"
1362713721
"@testing-library/jest-dom": "npm:^6.0.0"
1362813722
"@testing-library/react": "npm:^14.0.0"
@@ -15942,6 +16036,15 @@ __metadata:
1594216036
languageName: node
1594316037
linkType: hard
1594416038

16039+
"cross-fetch@npm:^3.1.4":
16040+
version: 3.1.8
16041+
resolution: "cross-fetch@npm:3.1.8"
16042+
dependencies:
16043+
node-fetch: "npm:^2.6.12"
16044+
checksum: 10c0/4c5e022ffe6abdf380faa6e2373c0c4ed7ef75e105c95c972b6f627c3f083170b6886f19fb488a7fa93971f4f69dcc890f122b0d97f0bf5f41ca1d9a8f58c8af
16045+
languageName: node
16046+
linkType: hard
16047+
1594516048
"cross-fetch@npm:^4.0.0":
1594616049
version: 4.0.0
1594716050
resolution: "cross-fetch@npm:4.0.0"
@@ -20168,6 +20271,13 @@ __metadata:
2016820271
languageName: node
2016920272
linkType: hard
2017020273

20274+
"immer@npm:9.0.7":
20275+
version: 9.0.7
20276+
resolution: "immer@npm:9.0.7"
20277+
checksum: 10c0/80740aede86e89eb3a1de5f97f9045a971fa41a45488a9471c930579ce49a268a001df757be3609af9133157dd6fefb45000f61fbc3ff24e853aaa0163c7a6b0
20278+
languageName: node
20279+
linkType: hard
20280+
2017120281
"immer@npm:^9.0.6, immer@npm:^9.0.7":
2017220282
version: 9.0.21
2017320283
resolution: "immer@npm:9.0.21"
@@ -23923,7 +24033,7 @@ __metadata:
2392324033
languageName: node
2392424034
linkType: hard
2392524035

23926-
"moment@npm:^2.30.1":
24036+
"moment@npm:^2.27.0, moment@npm:^2.30.1":
2392724037
version: 2.30.1
2392824038
resolution: "moment@npm:2.30.1"
2392924039
checksum: 10c0/865e4279418c6de666fca7786607705fd0189d8a7b7624e2e56be99290ac846f90878a6f602e34b4e0455c549b85385b1baf9966845962b313699e7cb847543a
@@ -26812,7 +26922,7 @@ __metadata:
2681226922
languageName: node
2681326923
linkType: hard
2681426924

26815-
"react-is@npm:^16.13.1, react-is@npm:^16.7.0":
26925+
"react-is@npm:^16.13.1, react-is@npm:^16.7.0, react-is@npm:^16.8.0":
2681626926
version: 16.13.1
2681726927
resolution: "react-is@npm:16.13.1"
2681826928
checksum: 10c0/33977da7a5f1a287936a0c85639fec6ca74f4f15ef1e59a6bc20338fc73dc69555381e211f7a3529b8150a1f71e4225525b41b60b52965bda53ce7d47377ada1
@@ -26859,6 +26969,18 @@ __metadata:
2685926969
languageName: node
2686026970
linkType: hard
2686126971

26972+
"react-minimal-pie-chart@npm:^8.2.0":
26973+
version: 8.4.0
26974+
resolution: "react-minimal-pie-chart@npm:8.4.0"
26975+
dependencies:
26976+
"@types/svg-path-parser": "npm:^1.1.3"
26977+
peerDependencies:
26978+
react: ^16.8.0 || ^17.0.0 || ^18
26979+
react-dom: ^16.8.0 || ^17.0.0 || ^18
26980+
checksum: 10c0/022167b557911b88785e5770170979041cca87c445fa167935b0a3d56e5cca26240d357bfb3f574e6acf726be2312ad8763ab374ddc7cae01ba00ca22ced2a98
26981+
languageName: node
26982+
linkType: hard
26983+
2686226984
"react-redux@npm:^7.2.0":
2686326985
version: 7.2.9
2686426986
resolution: "react-redux@npm:7.2.9"
@@ -27889,6 +28011,7 @@ __metadata:
2788928011
"@backstage/cli": "npm:^0.27.1"
2789028012
"@backstage/e2e-test-utils": "npm:^0.1.1"
2789128013
"@playwright/test": "npm:^1.32.3"
28014+
"@roadiehq/backstage-plugin-security-insights": "npm:^2.3.20"
2789228015
"@spotify/prettier-config": "npm:^12.0.0"
2789328016
env-cmd: "npm:^10.1.0"
2789428017
node-gyp: "npm:^10.0.0"
@@ -31751,6 +31874,18 @@ __metadata:
3175131874
languageName: node
3175231875
linkType: hard
3175331876

31877+
"zustand@npm:3.6.9":
31878+
version: 3.6.9
31879+
resolution: "zustand@npm:3.6.9"
31880+
peerDependencies:
31881+
react: ">=16.8"
31882+
peerDependenciesMeta:
31883+
react:
31884+
optional: true
31885+
checksum: 10c0/032f5acafcb544aa8a6d9d1cd77e0e4034e090a80d5af514588f59d78ea0bfadfaad33a42fdbdf791e1a3b031c5b2d4a576a1c9d06b7c4967d334d9ac77affd3
31886+
languageName: node
31887+
linkType: hard
31888+
3175431889
"zwitch@npm:^2.0.0":
3175531890
version: 2.0.4
3175631891
resolution: "zwitch@npm:2.0.4"

0 commit comments

Comments
 (0)