@electron-forge/publisher-bitbucket 7.8.3 → 7.9.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.
|
@@ -2,7 +2,7 @@ import { PublisherBase, PublisherOptions } from '@electron-forge/publisher-base'
|
|
|
2
2
|
import { PublisherBitbucketConfig } from './Config';
|
|
3
3
|
export default class PublisherBitbucket extends PublisherBase<PublisherBitbucketConfig> {
|
|
4
4
|
name: string;
|
|
5
|
-
publish({ makeResults, setStatusLine }: PublisherOptions): Promise<void>;
|
|
5
|
+
publish({ makeResults, setStatusLine, }: PublisherOptions): Promise<void>;
|
|
6
6
|
}
|
|
7
7
|
export { PublisherBitbucket, PublisherBitbucketConfig };
|
|
8
8
|
//# sourceMappingURL=PublisherBitbucket.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublisherBitbucket.d.ts","sourceRoot":"","sources":["../src/PublisherBitbucket.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"PublisherBitbucket.d.ts","sourceRoot":"","sources":["../src/PublisherBitbucket.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AAKxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,aAAa,CAAC,wBAAwB,CAAC;IACrF,IAAI,SAAe;IAEb,OAAO,CAAC,EACZ,WAAW,EACX,aAAa,GACd,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAgFpC;AAED,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -14,7 +14,7 @@ class PublisherBitbucket extends publisher_base_1.PublisherBase {
|
|
|
14
14
|
super(...arguments);
|
|
15
15
|
this.name = 'bitbucket';
|
|
16
16
|
}
|
|
17
|
-
async publish({ makeResults, setStatusLine }) {
|
|
17
|
+
async publish({ makeResults, setStatusLine, }) {
|
|
18
18
|
const { config } = this;
|
|
19
19
|
const hasRepositoryConfig = config.repository && typeof config.repository;
|
|
20
20
|
const replaceExistingFiles = Boolean(config.replaceExistingFiles);
|
|
@@ -23,7 +23,9 @@ class PublisherBitbucket extends publisher_base_1.PublisherBase {
|
|
|
23
23
|
const auth = { appPassword, username, ...(config.auth || {}) };
|
|
24
24
|
const apiUrl = `https://api.bitbucket.org/2.0/repositories/${config.repository.owner}/${config.repository.name}/downloads`;
|
|
25
25
|
const encodedUserAndPass = Buffer.from(`${auth.username}:${auth.appPassword}`).toString('base64');
|
|
26
|
-
if (!(hasRepositoryConfig &&
|
|
26
|
+
if (!(hasRepositoryConfig &&
|
|
27
|
+
config.repository.owner &&
|
|
28
|
+
config.repository.name)) {
|
|
27
29
|
throw new Error('In order to publish to Bitbucket you must set the "repository.owner" and "repository.name" properties in your Forge config. See the docs for more info');
|
|
28
30
|
}
|
|
29
31
|
if (!auth.appPassword || !auth.username) {
|
|
@@ -70,4 +72,4 @@ class PublisherBitbucket extends publisher_base_1.PublisherBase {
|
|
|
70
72
|
}
|
|
71
73
|
exports.default = PublisherBitbucket;
|
|
72
74
|
exports.PublisherBitbucket = PublisherBitbucket;
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVibGlzaGVyQml0YnVja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1B1Ymxpc2hlckJpdGJ1Y2tldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwwREFBNkI7QUFFN0IsbUVBR3dDO0FBQ3hDLDBEQUFpQztBQUNqQyx3REFBMEI7QUFDMUIsNERBQStCO0FBSS9CLE1BQXFCLGtCQUFtQixTQUFRLDhCQUF1QztJQUF2Rjs7UUFDRSxTQUFJLEdBQUcsV0FBVyxDQUFDO0lBcUZyQixDQUFDO0lBbkZDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFDWixXQUFXLEVBQ1gsYUFBYSxHQUNJO1FBQ2pCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDeEIsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUMxRSxNQUFNLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNsRSxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDO1FBQ3ZELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7UUFDaEQsTUFBTSxJQUFJLEdBQUcsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDL0QsTUFBTSxNQUFNLEdBQUcsOENBQThDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxZQUFZLENBQUM7UUFDM0gsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUNwQyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUN2QyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVyQixJQUNFLENBQUMsQ0FDQyxtQkFBbUI7WUFDbkIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLO1lBQ3ZCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUN2QixFQUNELENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLHdKQUF3SixDQUN6SixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQ2IsME5BQTBOLENBQzNOLENBQUM7UUFDSixDQUFDO1FBRUQsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ3hELE1BQU0sSUFBSSxHQUFHLElBQUksbUJBQVEsRUFBRSxDQUFDO1lBRTVCLEtBQUssTUFBTSxZQUFZLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNoRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxrQkFBRSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDMUQsQ0FBQztZQUVELHNGQUFzRjtZQUN0Rix3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQzFCLEtBQUssTUFBTSxZQUFZLElBQUksVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUNoRCxNQUFNLFFBQVEsR0FBRyxtQkFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztvQkFFN0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLG9CQUFLLEVBQUMsR0FBRyxNQUFNLElBQUksUUFBUSxFQUFFLEVBQUU7d0JBQ3BELE9BQU8sRUFBRTs0QkFDUCxhQUFhLEVBQUUsU0FBUyxrQkFBa0IsRUFBRTt5QkFDN0M7d0JBQ0QsTUFBTSxFQUFFLE1BQU07d0JBQ2QsMkVBQTJFO3dCQUMzRSxpQkFBaUI7d0JBQ2pCLFFBQVEsRUFBRSxRQUFRO3FCQUNuQixDQUFDLENBQUM7b0JBRUgsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO3dCQUM1QixNQUFNLElBQUksS0FBSyxDQUNiLHNCQUFzQixRQUFRLHVIQUF1SCxDQUN0SixDQUFDO29CQUNKLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7WUFFRCxhQUFhLENBQ1gsNEJBQTRCLEtBQUssR0FBRyxDQUFDLElBQUksV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUMvRCxDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLG9CQUFLLEVBQUMsTUFBTSxFQUFFO2dCQUNuQyxPQUFPLEVBQUU7b0JBQ1AsYUFBYSxFQUFFLFNBQVMsa0JBQWtCLEVBQUU7aUJBQzdDO2dCQUNELE1BQU0sRUFBRSxNQUFNO2dCQUNkLElBQUksRUFBRSxJQUFJO2FBQ1gsQ0FBQyxDQUFDO1lBRUgsdUZBQXVGO1lBQ3ZGLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxHQUFHLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDdkQsTUFBTSxJQUFJLEtBQUssQ0FDYiw0Q0FBNEMsUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsVUFBVSxjQUFjLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3hILENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXRGRCxxQ0FzRkM7QUFFUSxnREFBa0IifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@electron-forge/publisher-bitbucket",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.9.0",
|
|
4
4
|
"description": "Bitbucket publisher for Electron Forge",
|
|
5
5
|
"repository": "https://github.com/electron/forge",
|
|
6
6
|
"author": "Luke Batchelor",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"node": ">= 16.4.0"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@electron-forge/publisher-base": "7.
|
|
14
|
+
"@electron-forge/publisher-base": "7.9.0",
|
|
15
15
|
"form-data": "^4.0.0",
|
|
16
16
|
"fs-extra": "^10.0.0",
|
|
17
17
|
"node-fetch": "^2.6.7"
|
|
@@ -23,5 +23,5 @@
|
|
|
23
23
|
"dist",
|
|
24
24
|
"src"
|
|
25
25
|
],
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "cd63f57bd6870af2ad847076a183456221b30269"
|
|
27
27
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
PublisherBase,
|
|
5
|
+
PublisherOptions,
|
|
6
|
+
} from '@electron-forge/publisher-base';
|
|
4
7
|
import FormData from 'form-data';
|
|
5
8
|
import fs from 'fs-extra';
|
|
6
9
|
import fetch from 'node-fetch';
|
|
@@ -10,7 +13,10 @@ import { PublisherBitbucketConfig } from './Config';
|
|
|
10
13
|
export default class PublisherBitbucket extends PublisherBase<PublisherBitbucketConfig> {
|
|
11
14
|
name = 'bitbucket';
|
|
12
15
|
|
|
13
|
-
async publish({
|
|
16
|
+
async publish({
|
|
17
|
+
makeResults,
|
|
18
|
+
setStatusLine,
|
|
19
|
+
}: PublisherOptions): Promise<void> {
|
|
14
20
|
const { config } = this;
|
|
15
21
|
const hasRepositoryConfig = config.repository && typeof config.repository;
|
|
16
22
|
const replaceExistingFiles = Boolean(config.replaceExistingFiles);
|
|
@@ -18,17 +24,25 @@ export default class PublisherBitbucket extends PublisherBase<PublisherBitbucket
|
|
|
18
24
|
const username = process.env.BITBUCKET_USERNAME;
|
|
19
25
|
const auth = { appPassword, username, ...(config.auth || {}) };
|
|
20
26
|
const apiUrl = `https://api.bitbucket.org/2.0/repositories/${config.repository.owner}/${config.repository.name}/downloads`;
|
|
21
|
-
const encodedUserAndPass = Buffer.from(
|
|
27
|
+
const encodedUserAndPass = Buffer.from(
|
|
28
|
+
`${auth.username}:${auth.appPassword}`,
|
|
29
|
+
).toString('base64');
|
|
22
30
|
|
|
23
|
-
if (
|
|
31
|
+
if (
|
|
32
|
+
!(
|
|
33
|
+
hasRepositoryConfig &&
|
|
34
|
+
config.repository.owner &&
|
|
35
|
+
config.repository.name
|
|
36
|
+
)
|
|
37
|
+
) {
|
|
24
38
|
throw new Error(
|
|
25
|
-
'In order to publish to Bitbucket you must set the "repository.owner" and "repository.name" properties in your Forge config. See the docs for more info'
|
|
39
|
+
'In order to publish to Bitbucket you must set the "repository.owner" and "repository.name" properties in your Forge config. See the docs for more info',
|
|
26
40
|
);
|
|
27
41
|
}
|
|
28
42
|
|
|
29
43
|
if (!auth.appPassword || !auth.username) {
|
|
30
44
|
throw new Error(
|
|
31
|
-
'In order to publish to Bitbucket provide credentials, either through "auth.appPassword" and "auth.username" properties in your Forge config or using BITBUCKET_APP_PASSWORD and BITBUCKET_USERNAME environment variables'
|
|
45
|
+
'In order to publish to Bitbucket provide credentials, either through "auth.appPassword" and "auth.username" properties in your Forge config or using BITBUCKET_APP_PASSWORD and BITBUCKET_USERNAME environment variables',
|
|
32
46
|
);
|
|
33
47
|
}
|
|
34
48
|
|
|
@@ -57,13 +71,15 @@ export default class PublisherBitbucket extends PublisherBase<PublisherBitbucket
|
|
|
57
71
|
|
|
58
72
|
if (response.status === 302) {
|
|
59
73
|
throw new Error(
|
|
60
|
-
`Unable to publish "${fileName}" as it has been published previously. Use the "replaceExistingFiles" property in your Forge config to override this
|
|
74
|
+
`Unable to publish "${fileName}" as it has been published previously. Use the "replaceExistingFiles" property in your Forge config to override this.`,
|
|
61
75
|
);
|
|
62
76
|
}
|
|
63
77
|
}
|
|
64
78
|
}
|
|
65
79
|
|
|
66
|
-
setStatusLine(
|
|
80
|
+
setStatusLine(
|
|
81
|
+
`Uploading distributable (${index + 1}/${makeResults.length})`,
|
|
82
|
+
);
|
|
67
83
|
const response = await fetch(apiUrl, {
|
|
68
84
|
headers: {
|
|
69
85
|
Authorization: `Basic ${encodedUserAndPass}`,
|
|
@@ -74,7 +90,9 @@ export default class PublisherBitbucket extends PublisherBase<PublisherBitbucket
|
|
|
74
90
|
|
|
75
91
|
// We will get a 200 on the inital upload and a 201 if publishing over the same version
|
|
76
92
|
if (response.status !== 200 && response.status !== 201) {
|
|
77
|
-
throw new Error(
|
|
93
|
+
throw new Error(
|
|
94
|
+
`Unexpected response code from Bitbucket: ${response.status} ${response.statusText}\n\nBody:\n${await response.text()}`,
|
|
95
|
+
);
|
|
78
96
|
}
|
|
79
97
|
}
|
|
80
98
|
}
|