@backstage/plugin-catalog-import 0.13.6-next.1 → 0.13.7-next.0
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,39 @@
|
|
|
1
1
|
# @backstage/plugin-catalog-import
|
|
2
2
|
|
|
3
|
+
## 0.13.7-next.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @backstage/plugin-catalog-react@1.21.3-next.0
|
|
10
|
+
- @backstage/core-plugin-api@1.11.2-next.0
|
|
11
|
+
- @backstage/config@1.3.6-next.0
|
|
12
|
+
- @backstage/core-components@0.18.3-next.0
|
|
13
|
+
- @backstage/catalog-model@1.7.6-next.0
|
|
14
|
+
- @backstage/integration@1.18.2-next.0
|
|
15
|
+
- @backstage/frontend-plugin-api@0.12.2-next.0
|
|
16
|
+
- @backstage/catalog-client@1.12.1-next.0
|
|
17
|
+
- @backstage/core-compat-api@0.5.4-next.0
|
|
18
|
+
- @backstage/errors@1.2.7
|
|
19
|
+
- @backstage/integration-react@1.2.12-next.0
|
|
20
|
+
- @backstage/plugin-catalog-common@1.1.7-next.0
|
|
21
|
+
|
|
22
|
+
## 0.13.6
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- Updated dependencies
|
|
27
|
+
- @backstage/plugin-catalog-react@1.21.2
|
|
28
|
+
- @backstage/core-components@0.18.2
|
|
29
|
+
- @backstage/integration@1.18.1
|
|
30
|
+
- @backstage/frontend-plugin-api@0.12.1
|
|
31
|
+
- @backstage/config@1.3.5
|
|
32
|
+
- @backstage/core-compat-api@0.5.3
|
|
33
|
+
- @backstage/core-plugin-api@1.11.1
|
|
34
|
+
- @backstage/integration-react@1.2.11
|
|
35
|
+
- @backstage/plugin-catalog-common@1.1.6
|
|
36
|
+
|
|
3
37
|
## 0.13.6-next.1
|
|
4
38
|
|
|
5
39
|
### Patch Changes
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
const apiVersions = "6.0";
|
|
2
2
|
class RepoApiClient {
|
|
3
|
-
constructor(_options) {
|
|
4
|
-
this._options = _options;
|
|
5
|
-
}
|
|
6
3
|
createEndpoint = (path, version, queryParams = void 0) => {
|
|
7
4
|
const url = new URL(
|
|
8
5
|
`${this._options.tenantUrl}/${this._options.project}/_apis/git/repositories`
|
|
@@ -14,6 +11,10 @@ class RepoApiClient {
|
|
|
14
11
|
);
|
|
15
12
|
return url.toString();
|
|
16
13
|
};
|
|
14
|
+
_options;
|
|
15
|
+
constructor(_options) {
|
|
16
|
+
this._options = _options;
|
|
17
|
+
}
|
|
17
18
|
async get(path, version, queryParams = void 0, token) {
|
|
18
19
|
const endpoint = this.createEndpoint(path, version, queryParams);
|
|
19
20
|
const result = await fetch(endpoint, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AzureRepoApiClient.esm.js","sources":["../../src/api/AzureRepoApiClient.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface AzurePrOptions {\n tenantUrl: string;\n title: string;\n project: string;\n branchName: string;\n repository: string;\n token: string;\n fileContent: string;\n fileName: string;\n description: string;\n}\n\nexport interface CreateAzurePr {\n sourceRefName: string;\n targetRefName: string;\n title: string;\n description: string;\n}\n\nexport interface AzureRepo {\n id: string;\n name: string;\n defaultBranch: string;\n}\n\nexport interface AzureRef {\n name: string;\n objectId: string;\n}\n\ninterface RefQueryResult {\n value: AzureRef[];\n}\n\nexport interface AzureCommit {\n comment: string;\n\n changes: {\n changeType: string;\n item: {\n path: string;\n };\n newContent: {\n content: string;\n contentType: 'rawtext';\n };\n }[];\n}\n\nexport interface AzureRefUpdate {\n repositoryId: string;\n name: string;\n oldObjectId: string;\n newObjectId: string;\n}\n\nexport interface AzurePushResult {\n refUpdates: AzureRefUpdate[];\n}\n\nexport interface AzurePush {\n refUpdates: {\n name: string;\n oldObjectId: string;\n }[];\n commits: AzureCommit[];\n}\n\nexport interface AzurePrResult {\n pullRequestId: string;\n repository: {\n name: string;\n webUrl: string;\n };\n}\n\nconst apiVersions = '6.0';\n\nexport interface RepoApiClientOptions {\n project: string;\n tenantUrl: string;\n}\n\nexport interface NewBranchOptions {\n fileContent: string;\n fileName: string;\n title: string;\n branchName: string;\n repoName: string;\n sourceBranch: AzureRef;\n}\n\nexport interface CreatePrOptions {\n repoName: string;\n sourceName: string;\n targetName: string;\n description: string;\n title: string;\n}\n\nexport class RepoApiClient {\n private createEndpoint = (\n path: string,\n version: string,\n queryParams: Record<string, string> | undefined = undefined,\n ) => {\n const url = new URL(\n `${this._options.tenantUrl}/${this._options.project}/_apis/git/repositories`,\n );\n url.pathname += path;\n\n url.searchParams.set('api-version', version);\n Object.entries(queryParams ?? {}).forEach(([key, value]) =>\n url.searchParams.set(key, value),\n );\n return url.toString();\n };\n\n constructor(private _options: RepoApiClientOptions) {}\n\n private async get<T>(\n path: string,\n version: string,\n queryParams: Record<string, string> | undefined = undefined,\n token: string,\n ): Promise<T> {\n const endpoint = this.createEndpoint(path, version, queryParams);\n const result = await fetch(endpoint, {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n if (!result.ok) {\n return result.json().then(it => Promise.reject(new Error(it.message)));\n }\n return await result.json();\n }\n\n private async post<T>(\n path: string,\n version: string,\n payload: unknown,\n token: string,\n ): Promise<T> {\n const endpoint = this.createEndpoint(path, version);\n const result = await fetch(endpoint, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(payload),\n });\n if (!result.ok) {\n return result.json().then(it => Promise.reject(new Error(it.message)));\n }\n return await result.json();\n }\n\n async getRepository(\n repositoryName: string,\n token: string,\n ): Promise<AzureRepo> {\n return this.get(`/${repositoryName}`, apiVersions, undefined, token);\n }\n\n async getDefaultBranch(repo: AzureRepo, token: string): Promise<AzureRef> {\n const filter = repo.defaultBranch.replace('refs/', '');\n const result: RefQueryResult = await this.get(\n `/${repo.name}/refs`,\n apiVersions,\n { filter },\n token,\n );\n if (!result.value?.length) {\n return Promise.reject(\n new Error(`The requested ref '${filter}' was not found`),\n );\n }\n return result.value[0];\n }\n\n async pushNewBranch(\n options: NewBranchOptions,\n token: string,\n ): Promise<AzureRefUpdate> {\n const { sourceBranch, repoName } = options;\n const push: AzurePush = {\n refUpdates: [\n {\n name: `refs/heads/${options.branchName}`,\n oldObjectId: sourceBranch.objectId,\n },\n ],\n commits: [\n {\n comment: options.title,\n changes: [\n {\n changeType: 'add',\n item: {\n path: `/${options.fileName}`,\n },\n newContent: {\n content: options.fileContent,\n contentType: 'rawtext',\n },\n },\n ],\n },\n ],\n };\n const result = await this.post<AzurePushResult>(\n `/${repoName}/pushes`,\n apiVersions,\n push,\n token,\n );\n return result.refUpdates[0];\n }\n\n async createPullRequest(\n options: CreatePrOptions,\n token: string,\n ): Promise<AzurePrResult> {\n const { repoName, sourceName, targetName } = options;\n const payload: CreateAzurePr = {\n title: options.title,\n description: options.description,\n sourceRefName: sourceName,\n targetRefName: targetName,\n };\n\n return await this.post<AzurePrResult>(\n `/${repoName}/pullrequests`,\n apiVersions,\n payload,\n token,\n );\n }\n}\n\nexport async function createAzurePullRequest(\n options: AzurePrOptions,\n client: RepoApiClient | undefined = undefined,\n): Promise<AzurePrResult> {\n const {\n title,\n repository,\n token,\n fileContent,\n fileName,\n branchName,\n description,\n } = options;\n const actualClient = client ?? new RepoApiClient(options);\n const repo = await actualClient.getRepository(repository, token);\n const defaultBranch = await actualClient.getDefaultBranch(repo, token);\n const branchOptions: NewBranchOptions = {\n title: title,\n repoName: repo.name,\n sourceBranch: defaultBranch,\n branchName: branchName,\n fileContent: fileContent,\n fileName: fileName,\n };\n const refUpdate = await actualClient.pushNewBranch(branchOptions, token);\n const prOptions: CreatePrOptions = {\n title,\n description,\n repoName: repo.name,\n sourceName: refUpdate.name,\n targetName: defaultBranch.name,\n };\n return actualClient.createPullRequest(prOptions, token);\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AzureRepoApiClient.esm.js","sources":["../../src/api/AzureRepoApiClient.ts"],"sourcesContent":["/*\n * Copyright 2024 The Backstage Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport interface AzurePrOptions {\n tenantUrl: string;\n title: string;\n project: string;\n branchName: string;\n repository: string;\n token: string;\n fileContent: string;\n fileName: string;\n description: string;\n}\n\nexport interface CreateAzurePr {\n sourceRefName: string;\n targetRefName: string;\n title: string;\n description: string;\n}\n\nexport interface AzureRepo {\n id: string;\n name: string;\n defaultBranch: string;\n}\n\nexport interface AzureRef {\n name: string;\n objectId: string;\n}\n\ninterface RefQueryResult {\n value: AzureRef[];\n}\n\nexport interface AzureCommit {\n comment: string;\n\n changes: {\n changeType: string;\n item: {\n path: string;\n };\n newContent: {\n content: string;\n contentType: 'rawtext';\n };\n }[];\n}\n\nexport interface AzureRefUpdate {\n repositoryId: string;\n name: string;\n oldObjectId: string;\n newObjectId: string;\n}\n\nexport interface AzurePushResult {\n refUpdates: AzureRefUpdate[];\n}\n\nexport interface AzurePush {\n refUpdates: {\n name: string;\n oldObjectId: string;\n }[];\n commits: AzureCommit[];\n}\n\nexport interface AzurePrResult {\n pullRequestId: string;\n repository: {\n name: string;\n webUrl: string;\n };\n}\n\nconst apiVersions = '6.0';\n\nexport interface RepoApiClientOptions {\n project: string;\n tenantUrl: string;\n}\n\nexport interface NewBranchOptions {\n fileContent: string;\n fileName: string;\n title: string;\n branchName: string;\n repoName: string;\n sourceBranch: AzureRef;\n}\n\nexport interface CreatePrOptions {\n repoName: string;\n sourceName: string;\n targetName: string;\n description: string;\n title: string;\n}\n\nexport class RepoApiClient {\n private createEndpoint = (\n path: string,\n version: string,\n queryParams: Record<string, string> | undefined = undefined,\n ) => {\n const url = new URL(\n `${this._options.tenantUrl}/${this._options.project}/_apis/git/repositories`,\n );\n url.pathname += path;\n\n url.searchParams.set('api-version', version);\n Object.entries(queryParams ?? {}).forEach(([key, value]) =>\n url.searchParams.set(key, value),\n );\n return url.toString();\n };\n\n private _options: RepoApiClientOptions;\n\n constructor(_options: RepoApiClientOptions) {\n this._options = _options;\n }\n\n private async get<T>(\n path: string,\n version: string,\n queryParams: Record<string, string> | undefined = undefined,\n token: string,\n ): Promise<T> {\n const endpoint = this.createEndpoint(path, version, queryParams);\n const result = await fetch(endpoint, {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n });\n if (!result.ok) {\n return result.json().then(it => Promise.reject(new Error(it.message)));\n }\n return await result.json();\n }\n\n private async post<T>(\n path: string,\n version: string,\n payload: unknown,\n token: string,\n ): Promise<T> {\n const endpoint = this.createEndpoint(path, version);\n const result = await fetch(endpoint, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${token}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(payload),\n });\n if (!result.ok) {\n return result.json().then(it => Promise.reject(new Error(it.message)));\n }\n return await result.json();\n }\n\n async getRepository(\n repositoryName: string,\n token: string,\n ): Promise<AzureRepo> {\n return this.get(`/${repositoryName}`, apiVersions, undefined, token);\n }\n\n async getDefaultBranch(repo: AzureRepo, token: string): Promise<AzureRef> {\n const filter = repo.defaultBranch.replace('refs/', '');\n const result: RefQueryResult = await this.get(\n `/${repo.name}/refs`,\n apiVersions,\n { filter },\n token,\n );\n if (!result.value?.length) {\n return Promise.reject(\n new Error(`The requested ref '${filter}' was not found`),\n );\n }\n return result.value[0];\n }\n\n async pushNewBranch(\n options: NewBranchOptions,\n token: string,\n ): Promise<AzureRefUpdate> {\n const { sourceBranch, repoName } = options;\n const push: AzurePush = {\n refUpdates: [\n {\n name: `refs/heads/${options.branchName}`,\n oldObjectId: sourceBranch.objectId,\n },\n ],\n commits: [\n {\n comment: options.title,\n changes: [\n {\n changeType: 'add',\n item: {\n path: `/${options.fileName}`,\n },\n newContent: {\n content: options.fileContent,\n contentType: 'rawtext',\n },\n },\n ],\n },\n ],\n };\n const result = await this.post<AzurePushResult>(\n `/${repoName}/pushes`,\n apiVersions,\n push,\n token,\n );\n return result.refUpdates[0];\n }\n\n async createPullRequest(\n options: CreatePrOptions,\n token: string,\n ): Promise<AzurePrResult> {\n const { repoName, sourceName, targetName } = options;\n const payload: CreateAzurePr = {\n title: options.title,\n description: options.description,\n sourceRefName: sourceName,\n targetRefName: targetName,\n };\n\n return await this.post<AzurePrResult>(\n `/${repoName}/pullrequests`,\n apiVersions,\n payload,\n token,\n );\n }\n}\n\nexport async function createAzurePullRequest(\n options: AzurePrOptions,\n client: RepoApiClient | undefined = undefined,\n): Promise<AzurePrResult> {\n const {\n title,\n repository,\n token,\n fileContent,\n fileName,\n branchName,\n description,\n } = options;\n const actualClient = client ?? new RepoApiClient(options);\n const repo = await actualClient.getRepository(repository, token);\n const defaultBranch = await actualClient.getDefaultBranch(repo, token);\n const branchOptions: NewBranchOptions = {\n title: title,\n repoName: repo.name,\n sourceBranch: defaultBranch,\n branchName: branchName,\n fileContent: fileContent,\n fileName: fileName,\n };\n const refUpdate = await actualClient.pushNewBranch(branchOptions, token);\n const prOptions: CreatePrOptions = {\n title,\n description,\n repoName: repo.name,\n sourceName: refUpdate.name,\n targetName: defaultBranch.name,\n };\n return actualClient.createPullRequest(prOptions, token);\n}\n"],"names":[],"mappings":"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"}
|
package/dist/package.json.esm.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@backstage/plugin-catalog-import",
|
|
3
|
-
"version": "0.13.
|
|
3
|
+
"version": "0.13.7-next.0",
|
|
4
4
|
"description": "A Backstage plugin the helps you import entities into your catalog",
|
|
5
5
|
"backstage": {
|
|
6
6
|
"role": "frontend-plugin",
|
|
@@ -66,18 +66,18 @@
|
|
|
66
66
|
"test": "backstage-cli package test"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@backstage/catalog-client": "1.12.0",
|
|
70
|
-
"@backstage/catalog-model": "1.7.
|
|
71
|
-
"@backstage/config": "1.3.
|
|
72
|
-
"@backstage/core-compat-api": "0.5.
|
|
73
|
-
"@backstage/core-components": "0.18.
|
|
74
|
-
"@backstage/core-plugin-api": "1.11.
|
|
69
|
+
"@backstage/catalog-client": "1.12.1-next.0",
|
|
70
|
+
"@backstage/catalog-model": "1.7.6-next.0",
|
|
71
|
+
"@backstage/config": "1.3.6-next.0",
|
|
72
|
+
"@backstage/core-compat-api": "0.5.4-next.0",
|
|
73
|
+
"@backstage/core-components": "0.18.3-next.0",
|
|
74
|
+
"@backstage/core-plugin-api": "1.11.2-next.0",
|
|
75
75
|
"@backstage/errors": "1.2.7",
|
|
76
|
-
"@backstage/frontend-plugin-api": "0.12.
|
|
77
|
-
"@backstage/integration": "1.18.
|
|
78
|
-
"@backstage/integration-react": "1.2.
|
|
79
|
-
"@backstage/plugin-catalog-common": "1.1.
|
|
80
|
-
"@backstage/plugin-catalog-react": "1.21.
|
|
76
|
+
"@backstage/frontend-plugin-api": "0.12.2-next.0",
|
|
77
|
+
"@backstage/integration": "1.18.2-next.0",
|
|
78
|
+
"@backstage/integration-react": "1.2.12-next.0",
|
|
79
|
+
"@backstage/plugin-catalog-common": "1.1.7-next.0",
|
|
80
|
+
"@backstage/plugin-catalog-react": "1.21.3-next.0",
|
|
81
81
|
"@material-ui/core": "^4.12.2",
|
|
82
82
|
"@material-ui/icons": "^4.9.1",
|
|
83
83
|
"@material-ui/lab": "4.0.0-alpha.61",
|
|
@@ -90,11 +90,11 @@
|
|
|
90
90
|
"yaml": "^2.0.0"
|
|
91
91
|
},
|
|
92
92
|
"devDependencies": {
|
|
93
|
-
"@backstage/cli": "0.34.
|
|
94
|
-
"@backstage/core-app-api": "1.19.
|
|
95
|
-
"@backstage/dev-utils": "1.1.
|
|
96
|
-
"@backstage/plugin-catalog": "1.31.
|
|
97
|
-
"@backstage/test-utils": "1.7.
|
|
93
|
+
"@backstage/cli": "0.34.5-next.0",
|
|
94
|
+
"@backstage/core-app-api": "1.19.2-next.0",
|
|
95
|
+
"@backstage/dev-utils": "1.1.17-next.0",
|
|
96
|
+
"@backstage/plugin-catalog": "1.31.5-next.0",
|
|
97
|
+
"@backstage/test-utils": "1.7.13-next.0",
|
|
98
98
|
"@testing-library/dom": "^10.0.0",
|
|
99
99
|
"@testing-library/jest-dom": "^6.0.0",
|
|
100
100
|
"@testing-library/react": "^16.0.0",
|