@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.
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -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": "7.10.1",
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": "7.10.1",
15
- "@electron-forge/shared-types": "7.10.1",
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": "a9c9eb7b8476e9c4bbcc4ef80f0ac16166effe94"
27
+ "gitHead": "b9e0db1e38fafbeace24f539be01e32a4aeed258"
28
28
  }