@electron-forge/publisher-nucleus 7.10.1 → 8.0.0-alpha.1
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/dist/Config.d.ts +19 -0
- package/dist/Config.d.ts.map +1 -0
- package/dist/Config.js +3 -0
- package/dist/PublisherNucleus.d.ts +9 -0
- package/dist/PublisherNucleus.d.ts.map +1 -0
- package/dist/PublisherNucleus.js +68 -0
- package/package.json +4 -4
package/dist/Config.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface PublisherNucleusConfig {
|
|
2
|
+
/**
|
|
3
|
+
* Hostname (with https?://) of your instance of Nucleus
|
|
4
|
+
*/
|
|
5
|
+
host: string;
|
|
6
|
+
/**
|
|
7
|
+
* App ID of your target application in Nucleus
|
|
8
|
+
*/
|
|
9
|
+
appId: number;
|
|
10
|
+
/**
|
|
11
|
+
* Channel ID of your target application in Nucleus
|
|
12
|
+
*/
|
|
13
|
+
channelId: string;
|
|
14
|
+
/**
|
|
15
|
+
* Authentication token for your app, you can find this on the Nucleus web UI
|
|
16
|
+
*/
|
|
17
|
+
token: string;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../src/Config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf"}
|
package/dist/Config.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PublisherBase, PublisherOptions } from '@electron-forge/publisher-base';
|
|
2
|
+
import { PublisherNucleusConfig } from './Config';
|
|
3
|
+
export default class PublisherNucleus extends PublisherBase<PublisherNucleusConfig> {
|
|
4
|
+
name: string;
|
|
5
|
+
private collapseMakeResults;
|
|
6
|
+
publish({ makeResults, setStatusLine, }: PublisherOptions): Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export { PublisherNucleus, PublisherNucleusConfig };
|
|
9
|
+
//# sourceMappingURL=PublisherNucleus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PublisherNucleus.d.ts","sourceRoot":"","sources":["../src/PublisherNucleus.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EACb,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AAKxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAIlD,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,aAAa,CAAC,sBAAsB,CAAC;IACjF,IAAI,SAAa;IAEjB,OAAO,CAAC,mBAAmB,CAkBzB;IAEI,OAAO,CAAC,EACZ,WAAW,EACX,aAAa,GACd,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAyCpC;AAED,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PublisherNucleus = void 0;
|
|
7
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const publisher_base_1 = require("@electron-forge/publisher-base");
|
|
10
|
+
const debug_1 = __importDefault(require("debug"));
|
|
11
|
+
const form_data_1 = __importDefault(require("form-data"));
|
|
12
|
+
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
13
|
+
const d = (0, debug_1.default)('electron-forge:publish:nucleus');
|
|
14
|
+
class PublisherNucleus extends publisher_base_1.PublisherBase {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.name = 'nucleus';
|
|
18
|
+
this.collapseMakeResults = (makeResults) => {
|
|
19
|
+
const newMakeResults = [];
|
|
20
|
+
for (const result of makeResults) {
|
|
21
|
+
const existingResult = newMakeResults.find((nResult) => nResult.arch === result.arch &&
|
|
22
|
+
nResult.platform === result.platform &&
|
|
23
|
+
nResult.packageJSON.version === result.packageJSON.version);
|
|
24
|
+
if (existingResult) {
|
|
25
|
+
existingResult.artifacts.push(...result.artifacts);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
newMakeResults.push({ ...result });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return newMakeResults;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async publish({ makeResults, setStatusLine, }) {
|
|
35
|
+
const { config } = this;
|
|
36
|
+
const collapsedResults = this.collapseMakeResults(makeResults);
|
|
37
|
+
for (const [resultIdx, makeResult] of collapsedResults.entries()) {
|
|
38
|
+
const msg = `Uploading distributable (${resultIdx + 1}/${collapsedResults.length})`;
|
|
39
|
+
d(msg);
|
|
40
|
+
setStatusLine(msg);
|
|
41
|
+
const data = new form_data_1.default();
|
|
42
|
+
data.append('platform', makeResult.platform);
|
|
43
|
+
data.append('arch', makeResult.arch);
|
|
44
|
+
data.append('version', makeResult.packageJSON.version);
|
|
45
|
+
let artifactIdx = 0;
|
|
46
|
+
for (const artifactPath of makeResult.artifacts) {
|
|
47
|
+
// Skip the RELEASES file, it is automatically generated on the server
|
|
48
|
+
if (node_path_1.default.basename(artifactPath).toLowerCase() === 'releases')
|
|
49
|
+
continue;
|
|
50
|
+
data.append(`file${artifactIdx}`, node_fs_1.default.createReadStream(artifactPath));
|
|
51
|
+
artifactIdx += 1;
|
|
52
|
+
}
|
|
53
|
+
const response = await (0, node_fetch_1.default)(`${config.host}/rest/app/${config.appId}/channel/${config.channelId}/upload`, {
|
|
54
|
+
headers: {
|
|
55
|
+
Authorization: config.token,
|
|
56
|
+
},
|
|
57
|
+
method: 'POST',
|
|
58
|
+
body: data,
|
|
59
|
+
});
|
|
60
|
+
if (response.status !== 200) {
|
|
61
|
+
throw new Error(`Unexpected response code from Nucleus: ${response.status}\n\nBody:\n${await response.text()}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.default = PublisherNucleus;
|
|
67
|
+
exports.PublisherNucleus = PublisherNucleus;
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVibGlzaGVyTnVjbGV1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QdWJsaXNoZXJOdWNsZXVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNEQUF5QjtBQUN6QiwwREFBNkI7QUFFN0IsbUVBR3dDO0FBQ3hDLGtEQUEwQjtBQUMxQiwwREFBaUM7QUFDakMsNERBQStCO0FBSS9CLE1BQU0sQ0FBQyxHQUFHLElBQUEsZUFBSyxFQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFFbEQsTUFBcUIsZ0JBQWlCLFNBQVEsOEJBQXFDO0lBQW5GOztRQUNFLFNBQUksR0FBRyxTQUFTLENBQUM7UUFFVCx3QkFBbUIsR0FBRyxDQUM1QixXQUE0QyxFQUM1QyxFQUFFO1lBQ0YsTUFBTSxjQUFjLEdBQXVCLEVBQUUsQ0FBQztZQUM5QyxLQUFLLE1BQU0sTUFBTSxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUN4QyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ1YsT0FBTyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsSUFBSTtvQkFDNUIsT0FBTyxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsUUFBUTtvQkFDcEMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQzdELENBQUM7Z0JBQ0YsSUFBSSxjQUFjLEVBQUUsQ0FBQztvQkFDbkIsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3JELENBQUM7cUJBQU0sQ0FBQztvQkFDTixjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sY0FBYyxDQUFDO1FBQ3hCLENBQUMsQ0FBQztJQThDSixDQUFDO0lBNUNDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFDWixXQUFXLEVBQ1gsYUFBYSxHQUNJO1FBQ2pCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFeEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFL0QsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDakUsTUFBTSxHQUFHLEdBQUcsNEJBQTRCLFNBQVMsR0FBRyxDQUFDLElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDcEYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRVAsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLE1BQU0sSUFBSSxHQUFHLElBQUksbUJBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUV2RCxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7WUFDcEIsS0FBSyxNQUFNLFlBQVksSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2hELHNFQUFzRTtnQkFDdEUsSUFBSSxtQkFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxVQUFVO29CQUFFLFNBQVM7Z0JBQ3ZFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxXQUFXLEVBQUUsRUFBRSxpQkFBRSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQ3JFLFdBQVcsSUFBSSxDQUFDLENBQUM7WUFDbkIsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxvQkFBSyxFQUMxQixHQUFHLE1BQU0sQ0FBQyxJQUFJLGFBQWEsTUFBTSxDQUFDLEtBQUssWUFBWSxNQUFNLENBQUMsU0FBUyxTQUFTLEVBQzVFO2dCQUNFLE9BQU8sRUFBRTtvQkFDUCxhQUFhLEVBQUUsTUFBTSxDQUFDLEtBQUs7aUJBQzVCO2dCQUNELE1BQU0sRUFBRSxNQUFNO2dCQUNkLElBQUksRUFBRSxJQUFJO2FBQ1gsQ0FDRixDQUFDO1lBRUYsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUM1QixNQUFNLElBQUksS0FBSyxDQUNiLDBDQUEwQyxRQUFRLENBQUMsTUFBTSxjQUFjLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQy9GLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRjtBQW5FRCxtQ0FtRUM7QUFFUSw0Q0FBZ0IifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@electron-forge/publisher-nucleus",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0-alpha.1",
|
|
4
4
|
"description": "Nucleus publisher for Electron Forge",
|
|
5
5
|
"repository": "https://github.com/electron/forge",
|
|
6
6
|
"author": "Samuel Attard",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"node": ">= 16.4.0"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@electron-forge/publisher-base": "
|
|
15
|
-
"@electron-forge/shared-types": "
|
|
14
|
+
"@electron-forge/publisher-base": "8.0.0-alpha.1",
|
|
15
|
+
"@electron-forge/shared-types": "8.0.0-alpha.1",
|
|
16
16
|
"debug": "^4.3.1",
|
|
17
17
|
"form-data": "^4.0.0",
|
|
18
18
|
"node-fetch": "^2.6.7"
|
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
"dist",
|
|
25
25
|
"src"
|
|
26
26
|
],
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "b9e0db1e38fafbeace24f539be01e32a4aeed258"
|
|
28
28
|
}
|