@spotify/backstage-plugin-soundcheck-backend-module-github 0.7.7 → 0.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# @spotify/backstage-plugin-soundcheck-backend-module-github
|
|
2
2
|
|
|
3
|
+
## 0.7.9
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
- Updated dependencies
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
- Updated dependencies
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
- Updated dependencies
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
- Updated dependencies
|
|
19
|
+
- Updated dependencies
|
|
20
|
+
- @spotify/backstage-plugin-soundcheck-node@0.9.9
|
|
21
|
+
- @spotify/backstage-plugin-soundcheck-common@0.17.0
|
|
22
|
+
|
|
23
|
+
## 0.7.8
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- Fixed an issuse with some github facts exposing too much information to front-end.
|
|
28
|
+
- Updated dependencies
|
|
29
|
+
- @spotify/backstage-plugin-soundcheck-common@0.16.3
|
|
30
|
+
- @spotify/backstage-plugin-soundcheck-node@0.9.8
|
|
31
|
+
|
|
3
32
|
## 0.7.7
|
|
4
33
|
|
|
5
34
|
### Patch Changes
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var S=require("@backstage/catalog-model"),d=require("@backstage/integration"),F=require("@octokit/rest"),a=require("@spotify/backstage-plugin-soundcheck-common"),m=require("@spotify/backstage-plugin-soundcheck-node"),v=require("git-url-parse"),C=require("zod-to-json-schema"),x=require("../extractors/BranchProtectionsFactExtractor.cjs.js"),b=require("../extractors/BranchRulesFactExtractor.cjs.js"),q=require("../extractors/CodeScanningAlertsFactExtractor.cjs.js"),R=require("../extractors/config/GithubFactCollectorSchema.cjs.js"),A=require("../extractors/DependabotAlertsFactExtractor.cjs.js"),D=require("../extractors/ExtractorService.cjs.js"),G=require("../extractors/helper/BranchHelper.cjs.js"),P=require("../extractors/RepositoryDetailsFactExtractor.cjs.js"),k=require("../extractors/RepositoryLanguagesFactExtractor.cjs.js"),w=require("../extractors/SecretScanningAlertsFactExtractor.cjs.js"),B=require("../extractors/SecurityAdvisoriesFactExtractor.cjs.js"),O=require("../extractors/store/GithubExtractorsStore.cjs.js");function y(s){return s&&typeof s=="object"&&"default"in s?s:{default:s}}var U=y(v),H=y(C);const L=new Set(["DependabotAlerts","SecretScanningAlerts","CodeScanningAlerts"]);class u{static ID="github";#r;#a;#c;#e;#t;static create(r,t,c){return new u(r,t,c)}id=u.ID;name="GitHub";description="Collects facts about your GitHub repositories.";constructor(r,t,c){this.#r=t.child({target:this.id}),this.#a=d.ScmIntegrations.fromConfig(r),this.#c=d.DefaultGithubCredentialsProvider.fromIntegrations(this.#a),this.#e=D.ExtractorService.create({logger:t,cache:c,branchHelper:G.BranchHelper.create(this.#r,c.withOptions({defaultTtl:60*60*1e3})),factories:[x.BranchProtectionsFactExtractor.factory,b.BranchRulesFactExtractor.factory,q.CodeScanningAlertsFactExtractor.factory,A.DependabotAlertsFactExtractor.factory,P.RepositoryDetailsFactExtractor.factory,k.RepositoryLanguagesFactExtractor.factory,w.SecretScanningAlertsFactExtractor.factory,B.SecurityAdvisoriesFactExtractor.factory]}),this.#t=O.GithubExtractorsStore.create(this.#r)}async collect(r,t){const c=t?.factRefs??this.#t.getExtractorConfigs().map(e=>a.getFactRef(this.id,e));return Promise.all(r.filter(e=>a.isScmEntity(e)).map(async e=>{const o=S.stringifyEntityRef(e),l=a.getEntityScmUrl(e),p=U.default(l),f=await this.getOctokit(l);return f?Promise.all(c.map(async n=>{const g=a.parseFactRef(n,{defaultSource:this.id,defaultScope:a.DEFAULT_SCOPE}),h=this.#t.getExtractorConfig(g.name),E=!!t?.refresh?.map(i=>a.stringifyFactRef(i))?.includes(a.stringifyFactRef(n));return this.#e.extract(h,g.scope,p,f,E).then(i=>{if(i!==void 0)return a.buildFact(o,n,i,L.has(h.type))}).catch(i=>{if(i instanceof m.RateLimitError)throw i;return this.#r.error(`Failed to collect ${a.stringifyFactRef(n)} fact data for ${o} entity: ${i}`),a.buildCollectionError(o,n,i)})})):Promise.resolve()})).then(e=>e.flat().filter(o=>!!o))}async getOctokit(r){try{const{token:t}=await this.#c.getCredentials({url:r}),c=this.#a.github.byUrl(r);return new F.Octokit({auth:t,baseUrl:c?.config.apiBaseUrl})}catch(t){this.#r.warn(`Skipping Github fact collection for url ${r}: ${t}`);return}}async getCollectionConfigs(){return a.buildCollectionConfigs(this.id,this.#t.getExtractorConfigs())}async getFactNames(){const r=this.#e.listFactTypes(),t=this.#t.getExtractorConfigs();return r.flatMap(c=>t.filter(e=>e.type===c).map(e=>e.factName??e.type)??c)}async getDataSchema(r){const t=a.parseFactRef(r,{defaultSource:this.id,defaultScope:a.DEFAULT_SCOPE}),c=this.#t.getExtractorConfigs().find(e=>{const o=a.parseFactRef(a.getFactRef(this.id,e));return t.source===o.source&&t.name===o.name});if(c)return this.#e.getDataSchema(c)}async getConfig(){return this.#t.getConfig()}async setConfig(r){this.#t.setConfig(r)}async getConfigSchema(){return JSON.stringify(H.default(R.GithubFactCollectorSchema))}}exports.GithubFactCollector=u;
|
|
2
2
|
//# sourceMappingURL=GithubFactCollector.cjs.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spotify/backstage-plugin-soundcheck-backend-module-github",
|
|
3
3
|
"description": "Soundcheck 3rd party integration with Github",
|
|
4
|
-
"version": "0.7.
|
|
4
|
+
"version": "0.7.9",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"homepage": "https://backstage.spotify.com",
|
|
7
7
|
"main": "dist/index.cjs.js",
|
|
@@ -27,24 +27,24 @@
|
|
|
27
27
|
"postpack": "backstage-cli package postpack"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@backstage/backend-test-utils": "^1.
|
|
31
|
-
"@backstage/cli": "^0.32.
|
|
32
|
-
"@spotify/backstage-plugin-soundcheck-backend": "^0.
|
|
30
|
+
"@backstage/backend-test-utils": "^1.5.0",
|
|
31
|
+
"@backstage/cli": "^0.32.1",
|
|
32
|
+
"@spotify/backstage-plugin-soundcheck-backend": "^0.20.0",
|
|
33
33
|
"@types/git-url-parse": "^9.0.0",
|
|
34
34
|
"@types/luxon": "^3.0.1",
|
|
35
35
|
"supertest": "^7.0.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@backstage/backend-plugin-api": "^1.3.
|
|
39
|
-
"@backstage/catalog-model": "^1.7.
|
|
38
|
+
"@backstage/backend-plugin-api": "^1.3.1",
|
|
39
|
+
"@backstage/catalog-model": "^1.7.4",
|
|
40
40
|
"@backstage/config": "^1.3.2",
|
|
41
41
|
"@backstage/errors": "^1.2.7",
|
|
42
|
-
"@backstage/integration": "^1.
|
|
42
|
+
"@backstage/integration": "^1.17.0",
|
|
43
43
|
"@backstage/types": "^1.2.1",
|
|
44
44
|
"@octokit/request-error": "^5.0.0",
|
|
45
45
|
"@octokit/rest": "^20.0.0",
|
|
46
|
-
"@spotify/backstage-plugin-soundcheck-common": "^0.
|
|
47
|
-
"@spotify/backstage-plugin-soundcheck-node": "^0.9.
|
|
46
|
+
"@spotify/backstage-plugin-soundcheck-common": "^0.17.0",
|
|
47
|
+
"@spotify/backstage-plugin-soundcheck-node": "^0.9.9",
|
|
48
48
|
"git-url-parse": "^16.0.0",
|
|
49
49
|
"lodash": "^4.17.21",
|
|
50
50
|
"luxon": "^3.1.1",
|