@electron-forge/publisher-electron-release-server 6.0.0-beta.6 → 6.0.0-beta.63

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.
@@ -1,8 +1,8 @@
1
1
  import PublisherBase, { PublisherOptions } from '@electron-forge/publisher-base';
2
2
  import { ForgePlatform, ForgeArch } from '@electron-forge/shared-types';
3
3
  import { PublisherERSConfig } from './Config';
4
- export declare const ersPlatform: (platform: ForgePlatform, arch: ForgeArch) => "mas" | "osx_64" | "linux_32" | "linux_64" | "windows_32" | "windows_64";
4
+ export declare const ersPlatform: (platform: ForgePlatform, arch: ForgeArch) => string;
5
5
  export default class PublisherERS extends PublisherBase<PublisherERSConfig> {
6
6
  name: string;
7
- publish({makeResults}: PublisherOptions): Promise<void>;
7
+ publish({ makeResults }: PublisherOptions): Promise<void>;
8
8
  }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.ersPlatform = void 0;
6
+ exports.ersPlatform = exports.default = void 0;
7
7
 
8
8
  require("source-map-support/register");
9
9
 
@@ -23,10 +23,21 @@ var _path = _interopRequireDefault(require("path"));
23
23
 
24
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
25
 
26
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _next(value) { step("next", value); } function _throw(err) { step("throw", err); } _next(); }); }; }
26
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
27
 
28
28
  const d = (0, _debug.default)('electron-forge:publish:ers');
29
29
 
30
+ const fetchAndCheckStatus = async (url, init) => {
31
+ const result = await (0, _nodeFetch.default)(url, init);
32
+
33
+ if (result.ok) {
34
+ // res.status >= 200 && res.status < 300
35
+ return result;
36
+ }
37
+
38
+ throw new Error(`ERS publish failed with status code: ${result.status} (${result.url})`);
39
+ };
40
+
30
41
  const ersPlatform = (platform, arch) => {
31
42
  switch (platform) {
32
43
  case 'darwin':
@@ -47,164 +58,121 @@ exports.ersPlatform = ersPlatform;
47
58
 
48
59
  class PublisherERS extends _publisherBase.default {
49
60
  constructor(...args) {
50
- var _temp;
51
-
52
- return _temp = super(...args), Object.defineProperty(this, "name", {
53
- configurable: true,
54
- enumerable: true,
55
- writable: true,
56
- value: 'electron-release-server'
57
- }), _temp;
61
+ super(...args);
62
+
63
+ _defineProperty(this, "name", 'electron-release-server');
58
64
  }
59
65
 
60
- publish({
66
+ async publish({
61
67
  makeResults
62
68
  }) {
63
- var _this = this;
64
-
65
- return _asyncToGenerator(function* () {
66
- const config = _this.config;
69
+ const {
70
+ config
71
+ } = this;
72
+
73
+ if (!(config.baseUrl && config.username && config.password)) {
74
+ throw new Error('In order to publish to ERS you must set the "electronReleaseServer.baseUrl", "electronReleaseServer.username" and "electronReleaseServer.password" properties in your Forge config. See the docs for more info');
75
+ }
76
+
77
+ d('attempting to authenticate to ERS');
78
+
79
+ const api = apiPath => `${config.baseUrl}/${apiPath}`;
80
+
81
+ const {
82
+ token
83
+ } = await (await fetchAndCheckStatus(api('api/auth/login'), {
84
+ method: 'POST',
85
+ body: JSON.stringify({
86
+ username: config.username,
87
+ password: config.password
88
+ }),
89
+ headers: {
90
+ 'Content-Type': 'application/json'
91
+ }
92
+ })).json(); // eslint-disable-next-line max-len
67
93
 
68
- if (!(config.baseUrl && config.username && config.password)) {
69
- throw 'In order to publish to ERS you must set the "electronReleaseServer.baseUrl", "electronReleaseServer.username" and "electronReleaseServer.password" properties in your forge config. See the docs for more info'; // eslint-disable-line
94
+ const authFetch = (apiPath, options) => fetchAndCheckStatus(api(apiPath), { ...(options || {}),
95
+ headers: { ...(options || {}).headers,
96
+ Authorization: `Bearer ${token}`
97
+ }
98
+ });
99
+
100
+ const versions = await (await authFetch('api/version')).json();
101
+
102
+ for (const makeResult of makeResults) {
103
+ const {
104
+ artifacts,
105
+ packageJSON
106
+ } = makeResult;
107
+ const existingVersion = versions.find(version => version.name === packageJSON.version);
108
+ let channel = 'stable';
109
+
110
+ if (config.channel) {
111
+ // eslint-disable-next-line prefer-destructuring
112
+ channel = config.channel;
113
+ } else if (packageJSON.version.includes('beta')) {
114
+ channel = 'beta';
115
+ } else if (packageJSON.version.includes('alpha')) {
116
+ channel = 'alpha';
70
117
  }
71
118
 
72
- d('attempting to authenticate to ERS');
73
-
74
- const api = apiPath => `${config.baseUrl}/${apiPath}`;
75
-
76
- const _ref = yield (yield (0, _nodeFetch.default)(api('api/auth/login'), {
77
- method: 'POST',
78
- body: JSON.stringify({
79
- username: config.username,
80
- password: config.password
81
- }),
82
- headers: {
83
- 'Content-Type': 'application/json'
84
- }
85
- })).json(),
86
- token = _ref.token;
87
-
88
- const authFetch = (apiPath, options) => (0, _nodeFetch.default)(api(apiPath), Object.assign({}, options || {}, {
89
- headers: Object.assign({}, (options || {}).headers, {
90
- Authorization: `Bearer ${token}`
91
- })
92
- }));
93
-
94
- const versions = yield (yield authFetch('api/version')).json();
95
- var _iteratorNormalCompletion = true;
96
- var _didIteratorError = false;
97
- var _iteratorError = undefined;
98
-
99
- try {
100
- for (var _iterator = makeResults[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
101
- const makeResult = _step.value;
102
- const artifacts = makeResult.artifacts,
103
- packageJSON = makeResult.packageJSON;
104
- const existingVersion = versions.find(version => version.name === packageJSON.version);
105
- let channel = 'stable';
106
-
107
- if (config.channel) {
108
- channel = config.channel;
109
- } else if (packageJSON.version.includes('beta')) {
110
- channel = 'beta';
111
- } else if (packageJSON.version.includes('alpha')) {
112
- channel = 'alpha';
119
+ if (!existingVersion) {
120
+ await authFetch('api/version', {
121
+ method: 'POST',
122
+ body: JSON.stringify({
123
+ channel: {
124
+ name: channel
125
+ },
126
+ name: packageJSON.version,
127
+ notes: ''
128
+ }),
129
+ headers: {
130
+ 'Content-Type': 'application/json'
113
131
  }
132
+ });
133
+ }
114
134
 
115
- if (!existingVersion) {
116
- yield authFetch('api/version', {
117
- method: 'POST',
118
- body: JSON.stringify({
119
- channel: {
120
- name: channel
121
- },
122
- name: packageJSON.version,
123
- notes: ''
124
- }),
125
- headers: {
126
- 'Content-Type': 'application/json'
127
- }
128
- });
129
- }
135
+ let uploaded = 0;
130
136
 
131
- let uploaded = 0;
132
-
133
- const getText = () => `Uploading Artifacts ${uploaded}/${artifacts.length}`;
134
-
135
- yield (0, _asyncOra.asyncOra)(getText(),
136
- /*#__PURE__*/
137
- function () {
138
- var _ref2 = _asyncToGenerator(function* (uploadSpinner) {
139
- const updateSpinner = () => {
140
- uploadSpinner.text = getText();
141
- };
142
-
143
- yield Promise.all(artifacts.map(artifactPath => new Promise(
144
- /*#__PURE__*/
145
- function () {
146
- var _ref3 = _asyncToGenerator(function* (resolve, reject) {
147
- if (existingVersion) {
148
- const existingAsset = existingVersion.assets.find(asset => asset.name === _path.default.basename(artifactPath));
149
-
150
- if (existingAsset) {
151
- d('asset at path:', artifactPath, 'already exists on server');
152
- uploaded += 1;
153
- updateSpinner();
154
- return;
155
- }
156
- }
157
-
158
- try {
159
- d('attempting to upload asset:', artifactPath);
160
- const artifactForm = new _formData.default();
161
- artifactForm.append('token', token);
162
- artifactForm.append('version', packageJSON.version);
163
- artifactForm.append('platform', ersPlatform(makeResult.platform, makeResult.arch));
164
- artifactForm.append('file', _fsExtra.default.createReadStream(artifactPath));
165
- yield authFetch('api/asset', {
166
- method: 'POST',
167
- body: artifactForm,
168
- headers: artifactForm.getHeaders()
169
- });
170
- d('upload successful for asset:', artifactPath);
171
- uploaded += 1;
172
- updateSpinner();
173
- resolve();
174
- } catch (err) {
175
- reject(err);
176
- }
177
- });
178
-
179
- return function (_x2, _x3) {
180
- return _ref3.apply(this, arguments);
181
- };
182
- }())));
183
- });
184
-
185
- return function (_x) {
186
- return _ref2.apply(this, arguments);
187
- };
188
- }());
189
- }
190
- } catch (err) {
191
- _didIteratorError = true;
192
- _iteratorError = err;
193
- } finally {
194
- try {
195
- if (!_iteratorNormalCompletion && _iterator.return != null) {
196
- _iterator.return();
197
- }
198
- } finally {
199
- if (_didIteratorError) {
200
- throw _iteratorError;
137
+ const getText = () => `Uploading Artifacts ${uploaded}/${artifacts.length}`;
138
+
139
+ await (0, _asyncOra.asyncOra)(getText(), async uploadSpinner => {
140
+ const updateSpinner = () => {
141
+ uploadSpinner.text = getText();
142
+ };
143
+
144
+ await Promise.all(artifacts.map(async artifactPath => {
145
+ if (existingVersion) {
146
+ const existingAsset = existingVersion.assets.find(asset => asset.name === _path.default.basename(artifactPath));
147
+
148
+ if (existingAsset) {
149
+ d('asset at path:', artifactPath, 'already exists on server');
150
+ uploaded += 1;
151
+ updateSpinner();
152
+ return;
153
+ }
201
154
  }
202
- }
203
- }
204
- })();
155
+
156
+ d('attempting to upload asset:', artifactPath);
157
+ const artifactForm = new _formData.default();
158
+ artifactForm.append('token', token);
159
+ artifactForm.append('version', packageJSON.version);
160
+ artifactForm.append('platform', ersPlatform(makeResult.platform, makeResult.arch));
161
+ artifactForm.append('file', _fsExtra.default.createReadStream(artifactPath));
162
+ await authFetch('api/asset', {
163
+ method: 'POST',
164
+ body: artifactForm,
165
+ headers: artifactForm.getHeaders()
166
+ });
167
+ d('upload successful for asset:', artifactPath);
168
+ uploaded += 1;
169
+ updateSpinner();
170
+ }));
171
+ });
172
+ }
205
173
  }
206
174
 
207
175
  }
208
176
 
209
177
  exports.default = PublisherERS;
210
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9QdWJsaXNoZXJFUlMudHMiXSwibmFtZXMiOlsiZCIsImVyc1BsYXRmb3JtIiwicGxhdGZvcm0iLCJhcmNoIiwiUHVibGlzaGVyRVJTIiwiUHVibGlzaGVyQmFzZSIsInB1Ymxpc2giLCJtYWtlUmVzdWx0cyIsImNvbmZpZyIsImJhc2VVcmwiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiYXBpIiwiYXBpUGF0aCIsIm1ldGhvZCIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5IiwiaGVhZGVycyIsImpzb24iLCJ0b2tlbiIsImF1dGhGZXRjaCIsIm9wdGlvbnMiLCJPYmplY3QiLCJhc3NpZ24iLCJBdXRob3JpemF0aW9uIiwidmVyc2lvbnMiLCJtYWtlUmVzdWx0IiwiYXJ0aWZhY3RzIiwicGFja2FnZUpTT04iLCJleGlzdGluZ1ZlcnNpb24iLCJmaW5kIiwidmVyc2lvbiIsIm5hbWUiLCJjaGFubmVsIiwiaW5jbHVkZXMiLCJub3RlcyIsInVwbG9hZGVkIiwiZ2V0VGV4dCIsImxlbmd0aCIsInVwbG9hZFNwaW5uZXIiLCJ1cGRhdGVTcGlubmVyIiwidGV4dCIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJhcnRpZmFjdFBhdGgiLCJyZXNvbHZlIiwicmVqZWN0IiwiZXhpc3RpbmdBc3NldCIsImFzc2V0cyIsImFzc2V0IiwicGF0aCIsImJhc2VuYW1lIiwiYXJ0aWZhY3RGb3JtIiwiRm9ybURhdGEiLCJhcHBlbmQiLCJmcyIsImNyZWF0ZVJlYWRTdHJlYW0iLCJnZXRIZWFkZXJzIiwiZXJyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBSUEsTUFBTUEsSUFBSSxvQkFBTSw0QkFBTixDQUFWOztBQU9PLE1BQU1DLGNBQWMsQ0FBQ0MsUUFBRCxFQUEwQkMsSUFBMUIsS0FBOEM7QUFDdkUsVUFBUUQsUUFBUjtBQUNFLFNBQUssUUFBTDtBQUNFLGFBQU8sUUFBUDs7QUFDRixT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Q0FBYUUsTUFBYixDQUFvQixNQUFwQixFQUE0QkMsaUJBQUdDLGdCQUFILENBQW9CWixZQUFwQixDQUE1QjtBQUNBLDBCQUFNekIsVUFBVSxXQUFWLEVBQXVCO0FBQzNCUCw4QkFBUSxNQURtQjtBQUUzQkMsNEJBQU11QyxZQUZxQjtBQUczQnBDLCtCQUFTb0MsYUFBYUssVUFBYjtBQUhrQixxQkFBdkIsQ0FBTjtBQUtBM0Qsc0JBQUUsOEJBQUYsRUFBa0M4QyxZQUFsQztBQUNBVCxnQ0FBWSxDQUFaO0FBQ0FJO0FBQ0FNO0FBQ0QsbUJBaEJELENBZ0JFLE9BQU9hLEdBQVAsRUFBWTtBQUNaWiwyQkFBT1ksR0FBUDtBQUNEO0FBQ0YsaUJBaENEOztBQUFBO0FBQUE7QUFBQTtBQUFBLGtCQURnQixDQUFaLENBQU47QUFtQ0QsYUF4Q0s7O0FBQUE7QUFBQTtBQUFBO0FBQUEsY0FBTjtBQXlDRDtBQXZHOEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBd0doRDs7QUEzR3lFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFB1Ymxpc2hlckJhc2UsIHsgUHVibGlzaGVyT3B0aW9ucyB9IGZyb20gJ0BlbGVjdHJvbi1mb3JnZS9wdWJsaXNoZXItYmFzZSc7XG5pbXBvcnQgeyBhc3luY09yYSB9IGZyb20gJ0BlbGVjdHJvbi1mb3JnZS9hc3luYy1vcmEnO1xuaW1wb3J0IHsgRm9yZ2VQbGF0Zm9ybSwgRm9yZ2VBcmNoIH0gZnJvbSAnQGVsZWN0cm9uLWZvcmdlL3NoYXJlZC10eXBlcyc7XG5cbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgZmV0Y2ggZnJvbSAnbm9kZS1mZXRjaCc7XG5pbXBvcnQgRm9ybURhdGEgZnJvbSAnZm9ybS1kYXRhJztcbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHsgUHVibGlzaGVyRVJTQ29uZmlnIH0gZnJvbSAnLi9Db25maWcnO1xuXG5jb25zdCBkID0gZGVidWcoJ2VsZWN0cm9uLWZvcmdlOnB1Ymxpc2g6ZXJzJyk7XG5cbmludGVyZmFjZSBFUlNWZXJzaW9uIHtcbiAgbmFtZTogc3RyaW5nO1xuICBhc3NldHM6IHsgbmFtZTogc3RyaW5nOyB9W107XG59XG5cbmV4cG9ydCBjb25zdCBlcnNQbGF0Zm9ybSA9IChwbGF0Zm9ybTogRm9yZ2VQbGF0Zm9ybSwgYXJjaDogRm9yZ2VBcmNoKSA9PiB7XG4gIHN3aXRjaCAocGxhdGZvcm0pIHtcbiAgICBjYXNlICdkYXJ3aW4nOlxuICAgICAgcmV0dXJuICdvc3hfNjQnO1xuICAgIGNhc2UgJ2xpbnV4JzpcbiAgICAgIHJldHVybiBhcmNoID09PSAnaWEzMicgPyAnbGludXhfMzInIDogJ2xpbnV4XzY0JztcbiAgICBjYXNlICd3aW4zMic6XG4gICAgICByZXR1cm4gYXJjaCA9PT0gJ2lhMzInID8gJ3dpbmRvd3NfMzInIDogJ3dpbmRvd3NfNjQnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gcGxhdGZvcm07XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFB1Ymxpc2hlckVSUyBleHRlbmRzIFB1Ymxpc2hlckJhc2U8UHVibGlzaGVyRVJTQ29uZmlnPiB7XG4gIG5hbWUgPSAnZWxlY3Ryb24tcmVsZWFzZS1zZXJ2ZXInO1xuXG4gIGFzeW5jIHB1Ymxpc2goeyBtYWtlUmVzdWx0cyB9OiBQdWJsaXNoZXJPcHRpb25zKSB7XG4gICAgY29uc3QgeyBjb25maWcgfSA9IHRoaXM7XG5cbiAgICBpZiAoIShjb25maWcuYmFzZVVybCAmJiBjb25maWcudXNlcm5hbWUgJiYgY29uZmlnLnBhc3N3b3JkKSkge1xuICAgICAgdGhyb3cgJ0luIG9yZGVyIHRvIHB1Ymxpc2ggdG8gRVJTIHlvdSBtdXN0IHNldCB0aGUgXCJlbGVjdHJvblJlbGVhc2VTZXJ2ZXIuYmFzZVVybFwiLCBcImVsZWN0cm9uUmVsZWFzZVNlcnZlci51c2VybmFtZVwiIGFuZCBcImVsZWN0cm9uUmVsZWFzZVNlcnZlci5wYXNzd29yZFwiIHByb3BlcnRpZXMgaW4geW91ciBmb3JnZSBjb25maWcuIFNlZSB0aGUgZG9jcyBmb3IgbW9yZSBpbmZvJzsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgIH1cblxuICAgIGQoJ2F0dGVtcHRpbmcgdG8gYXV0aGVudGljYXRlIHRvIEVSUycpO1xuXG4gICAgY29uc3QgYXBpID0gKGFwaVBhdGg6IHN0cmluZykgPT4gYCR7Y29uZmlnLmJhc2VVcmx9LyR7YXBpUGF0aH1gO1xuXG4gICAgY29uc3QgeyB0b2tlbiB9ID0gYXdhaXQgKGF3YWl0IGZldGNoKGFwaSgnYXBpL2F1dGgvbG9naW4nKSwge1xuICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIHVzZXJuYW1lOiBjb25maWcudXNlcm5hbWUsXG4gICAgICAgIHBhc3N3b3JkOiBjb25maWcucGFzc3dvcmQsXG4gICAgICB9KSxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0sXG4gICAgfSkpLmpzb24oKTtcblxuICAgIGNvbnN0IGF1dGhGZXRjaCA9IChhcGlQYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpID0+XG4gICAgICBmZXRjaChhcGkoYXBpUGF0aCksIE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMgfHwge30sIHtcbiAgICAgICAgaGVhZGVyczogT2JqZWN0LmFzc2lnbih7fSwgKG9wdGlvbnMgfHwge30pLmhlYWRlcnMsIHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAgfSksXG4gICAgICB9KSk7XG5cbiAgICBjb25zdCB2ZXJzaW9uczogRVJTVmVyc2lvbltdID0gYXdhaXQgKGF3YWl0IGF1dGhGZXRjaCgnYXBpL3ZlcnNpb24nKSkuanNvbigpO1xuXG4gICAgZm9yIChjb25zdCBtYWtlUmVzdWx0IG9mIG1ha2VSZXN1bHRzKSB7XG4gICAgICBjb25zdCB7IGFydGlmYWN0cywgcGFja2FnZUpTT04gfSA9IG1ha2VSZXN1bHQ7XG5cbiAgICAgIGNvbnN0IGV4aXN0aW5nVmVyc2lvbiA9IHZlcnNpb25zLmZpbmQodmVyc2lvbiA9PiB2ZXJzaW9uLm5hbWUgPT09IHBhY2thZ2VKU09OLnZlcnNpb24pO1xuXG4gICAgICBsZXQgY2hhbm5lbCA9ICdzdGFibGUnO1xuICAgICAgaWYgKGNvbmZpZy5jaGFubmVsKSB7XG4gICAgICAgIGNoYW5uZWwgPSBjb25maWcuY2hhbm5lbDtcbiAgICAgIH0gZWxzZSBpZiAocGFja2FnZUpTT04udmVyc2lvbi5pbmNsdWRlcygnYmV0YScpKSB7XG4gICAgICAgIGNoYW5uZWwgPSAnYmV0YSc7XG4gICAgICB9IGVsc2UgaWYgKHBhY2thZ2VKU09OLnZlcnNpb24uaW5jbHVkZXMoJ2FscGhhJykpIHtcbiAgICAgICAgY2hhbm5lbCA9ICdhbHBoYSc7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXhpc3RpbmdWZXJzaW9uKSB7XG4gICAgICAgIGF3YWl0IGF1dGhGZXRjaCgnYXBpL3ZlcnNpb24nLCB7XG4gICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgY2hhbm5lbDoge1xuICAgICAgICAgICAgICBuYW1lOiBjaGFubmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5hbWU6IHBhY2thZ2VKU09OLnZlcnNpb24sXG4gICAgICAgICAgICBub3RlczogJycsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgbGV0IHVwbG9hZGVkID0gMDtcbiAgICAgIGNvbnN0IGdldFRleHQgPSAoKSA9PiBgVXBsb2FkaW5nIEFydGlmYWN0cyAke3VwbG9hZGVkfS8ke2FydGlmYWN0cy5sZW5ndGh9YDtcblxuICAgICAgYXdhaXQgYXN5bmNPcmEoZ2V0VGV4dCgpLCBhc3luYyAodXBsb2FkU3Bpbm5lcikgPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVTcGlubmVyID0gKCkgPT4ge1xuICAgICAgICAgIHVwbG9hZFNwaW5uZXIudGV4dCA9IGdldFRleHQoKTtcbiAgICAgICAgfTtcblxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChhcnRpZmFjdHMubWFwKGFydGlmYWN0UGF0aCA9PlxuICAgICAgICAgIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGlmIChleGlzdGluZ1ZlcnNpb24pIHtcbiAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdBc3NldCA9IGV4aXN0aW5nVmVyc2lvbi5hc3NldHMuZmluZChcbiAgICAgICAgICAgICAgICBhc3NldCA9PiBhc3NldC5uYW1lID09PSBwYXRoLmJhc2VuYW1lKGFydGlmYWN0UGF0aCksXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgaWYgKGV4aXN0aW5nQXNzZXQpIHtcbiAgICAgICAgICAgICAgICBkKCdhc3NldCBhdCBwYXRoOicsIGFydGlmYWN0UGF0aCwgJ2FscmVhZHkgZXhpc3RzIG9uIHNlcnZlcicpO1xuICAgICAgICAgICAgICAgIHVwbG9hZGVkICs9IDE7XG4gICAgICAgICAgICAgICAgdXBkYXRlU3Bpbm5lcigpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgZCgnYXR0ZW1wdGluZyB0byB1cGxvYWQgYXNzZXQ6JywgYXJ0aWZhY3RQYXRoKTtcbiAgICAgICAgICAgICAgY29uc3QgYXJ0aWZhY3RGb3JtID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgICAgICAgIGFydGlmYWN0Rm9ybS5hcHBlbmQoJ3Rva2VuJywgdG9rZW4pO1xuICAgICAgICAgICAgICBhcnRpZmFjdEZvcm0uYXBwZW5kKCd2ZXJzaW9uJywgcGFja2FnZUpTT04udmVyc2lvbik7XG4gICAgICAgICAgICAgIGFydGlmYWN0Rm9ybS5hcHBlbmQoJ3BsYXRmb3JtJywgZXJzUGxhdGZvcm0obWFrZVJlc3VsdC5wbGF0Zm9ybSwgbWFrZVJlc3VsdC5hcmNoKSk7XG4gICAgICAgICAgICAgIGFydGlmYWN0Rm9ybS5hcHBlbmQoJ2ZpbGUnLCBmcy5jcmVhdGVSZWFkU3RyZWFtKGFydGlmYWN0UGF0aCkpO1xuICAgICAgICAgICAgICBhd2FpdCBhdXRoRmV0Y2goJ2FwaS9hc3NldCcsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgICAgICBib2R5OiBhcnRpZmFjdEZvcm0sXG4gICAgICAgICAgICAgICAgaGVhZGVyczogYXJ0aWZhY3RGb3JtLmdldEhlYWRlcnMoKSxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGQoJ3VwbG9hZCBzdWNjZXNzZnVsIGZvciBhc3NldDonLCBhcnRpZmFjdFBhdGgpO1xuICAgICAgICAgICAgICB1cGxvYWRlZCArPSAxO1xuICAgICAgICAgICAgICB1cGRhdGVTcGlubmVyKCk7XG4gICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgKSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
178
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9QdWJsaXNoZXJFUlMudHMiXSwibmFtZXMiOlsiZCIsImZldGNoQW5kQ2hlY2tTdGF0dXMiLCJ1cmwiLCJpbml0IiwicmVzdWx0Iiwib2siLCJFcnJvciIsInN0YXR1cyIsImVyc1BsYXRmb3JtIiwicGxhdGZvcm0iLCJhcmNoIiwiUHVibGlzaGVyRVJTIiwiUHVibGlzaGVyQmFzZSIsInB1Ymxpc2giLCJtYWtlUmVzdWx0cyIsImNvbmZpZyIsImJhc2VVcmwiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiYXBpIiwiYXBpUGF0aCIsInRva2VuIiwibWV0aG9kIiwiYm9keSIsIkpTT04iLCJzdHJpbmdpZnkiLCJoZWFkZXJzIiwianNvbiIsImF1dGhGZXRjaCIsIm9wdGlvbnMiLCJBdXRob3JpemF0aW9uIiwidmVyc2lvbnMiLCJtYWtlUmVzdWx0IiwiYXJ0aWZhY3RzIiwicGFja2FnZUpTT04iLCJleGlzdGluZ1ZlcnNpb24iLCJmaW5kIiwidmVyc2lvbiIsIm5hbWUiLCJjaGFubmVsIiwiaW5jbHVkZXMiLCJub3RlcyIsInVwbG9hZGVkIiwiZ2V0VGV4dCIsImxlbmd0aCIsInVwbG9hZFNwaW5uZXIiLCJ1cGRhdGVTcGlubmVyIiwidGV4dCIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJhcnRpZmFjdFBhdGgiLCJleGlzdGluZ0Fzc2V0IiwiYXNzZXRzIiwiYXNzZXQiLCJwYXRoIiwiYmFzZW5hbWUiLCJhcnRpZmFjdEZvcm0iLCJGb3JtRGF0YSIsImFwcGVuZCIsImZzIiwiY3JlYXRlUmVhZFN0cmVhbSIsImdldEhlYWRlcnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFJQSxNQUFNQSxDQUFDLEdBQUcsb0JBQU0sNEJBQU4sQ0FBVjs7QUFPQSxNQUFNQyxtQkFBbUIsR0FBRyxPQUFPQyxHQUFQLEVBQXlCQyxJQUF6QixLQUFtRTtBQUM3RixRQUFNQyxNQUFNLEdB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Q0FULFVBQUFBLFFBQVEsSUFBSSxDQUFaO0FBQ0FJLFVBQUFBLGFBQWE7QUFDZCxTQXpCRCxDQURJLENBQU47QUE0QkQsT0FqQ0ssQ0FBTjtBQWtDRDtBQUNGOztBQXhHeUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUHVibGlzaGVyQmFzZSwgeyBQdWJsaXNoZXJPcHRpb25zIH0gZnJvbSAnQGVsZWN0cm9uLWZvcmdlL3B1Ymxpc2hlci1iYXNlJztcbmltcG9ydCB7IGFzeW5jT3JhIH0gZnJvbSAnQGVsZWN0cm9uLWZvcmdlL2FzeW5jLW9yYSc7XG5pbXBvcnQgeyBGb3JnZVBsYXRmb3JtLCBGb3JnZUFyY2ggfSBmcm9tICdAZWxlY3Ryb24tZm9yZ2Uvc2hhcmVkLXR5cGVzJztcblxuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCBmZXRjaCwgeyBSZXF1ZXN0SW5mbywgUmVxdWVzdEluaXQsIFJlc3BvbnNlIH0gZnJvbSAnbm9kZS1mZXRjaCc7XG5pbXBvcnQgRm9ybURhdGEgZnJvbSAnZm9ybS1kYXRhJztcbmltcG9ydCBmcyBmcm9tICdmcy1leHRyYSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHsgUHVibGlzaGVyRVJTQ29uZmlnIH0gZnJvbSAnLi9Db25maWcnO1xuXG5jb25zdCBkID0gZGVidWcoJ2VsZWN0cm9uLWZvcmdlOnB1Ymxpc2g6ZXJzJyk7XG5cbmludGVyZmFjZSBFUlNWZXJzaW9uIHtcbiAgbmFtZTogc3RyaW5nO1xuICBhc3NldHM6IHsgbmFtZTogc3RyaW5nIH1bXTtcbn1cblxuY29uc3QgZmV0Y2hBbmRDaGVja1N0YXR1cyA9IGFzeW5jICh1cmw6IFJlcXVlc3RJbmZvLCBpbml0PzogUmVxdWVzdEluaXQpOiBQcm9taXNlPFJlc3BvbnNlPiA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZldGNoKHVybCwgaW5pdCk7XG4gIGlmIChyZXN1bHQub2spIHtcbiAgICAvLyByZXMuc3RhdHVzID49IDIwMCAmJiByZXMuc3RhdHVzIDwgMzAwXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoYEVSUyBwdWJsaXNoIGZhaWxlZCB3aXRoIHN0YXR1cyBjb2RlOiAke3Jlc3VsdC5zdGF0dXN9ICgke3Jlc3VsdC51cmx9KWApO1xufTtcblxuZXhwb3J0IGNvbnN0IGVyc1BsYXRmb3JtID0gKHBsYXRmb3JtOiBGb3JnZVBsYXRmb3JtLCBhcmNoOiBGb3JnZUFyY2gpOiBzdHJpbmcgPT4ge1xuICBzd2l0Y2ggKHBsYXRmb3JtKSB7XG4gICAgY2FzZSAnZGFyd2luJzpcbiAgICAgIHJldHVybiAnb3N4XzY0JztcbiAgICBjYXNlICdsaW51eCc6XG4gICAgICByZXR1cm4gYXJjaCA9PT0gJ2lhMzInID8gJ2xpbnV4XzMyJyA6ICdsaW51eF82NCc7XG4gICAgY2FzZSAnd2luMzInOlxuICAgICAgcmV0dXJuIGFyY2ggPT09ICdpYTMyJyA/ICd3aW5kb3dzXzMyJyA6ICd3aW5kb3dzXzY0JztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHBsYXRmb3JtO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQdWJsaXNoZXJFUlMgZXh0ZW5kcyBQdWJsaXNoZXJCYXNlPFB1Ymxpc2hlckVSU0NvbmZpZz4ge1xuICBuYW1lID0gJ2VsZWN0cm9uLXJlbGVhc2Utc2VydmVyJztcblxuICBhc3luYyBwdWJsaXNoKHsgbWFrZVJlc3VsdHMgfTogUHVibGlzaGVyT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgY29uZmlnIH0gPSB0aGlzO1xuXG4gICAgaWYgKCEoY29uZmlnLmJhc2VVcmwgJiYgY29uZmlnLnVzZXJuYW1lICYmIGNvbmZpZy5wYXNzd29yZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0luIG9yZGVyIHRvIHB1Ymxpc2ggdG8gRVJTIHlvdSBtdXN0IHNldCB0aGUgXCJlbGVjdHJvblJlbGVhc2VTZXJ2ZXIuYmFzZVVybFwiLCBcImVsZWN0cm9uUmVsZWFzZVNlcnZlci51c2VybmFtZVwiIGFuZCBcImVsZWN0cm9uUmVsZWFzZVNlcnZlci5wYXNzd29yZFwiIHByb3BlcnRpZXMgaW4geW91ciBGb3JnZSBjb25maWcuIFNlZSB0aGUgZG9jcyBmb3IgbW9yZSBpbmZvJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBkKCdhdHRlbXB0aW5nIHRvIGF1dGhlbnRpY2F0ZSB0byBFUlMnKTtcblxuICAgIGNvbnN0IGFwaSA9IChhcGlQYXRoOiBzdHJpbmcpID0+IGAke2NvbmZpZy5iYXNlVXJsfS8ke2FwaVBhdGh9YDtcblxuICAgIGNvbnN0IHsgdG9rZW4gfSA9IGF3YWl0IChcbiAgICAgIGF3YWl0IGZldGNoQW5kQ2hlY2tTdGF0dXMoYXBpKCdhcGkvYXV0aC9sb2dpbicpLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgdXNlcm5hbWU6IGNvbmZpZy51c2VybmFtZSxcbiAgICAgICAgICBwYXNzd29yZDogY29uZmlnLnBhc3N3b3JkLFxuICAgICAgICB9KSxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICkuanNvbigpO1xuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1sZW5cbiAgICBjb25zdCBhdXRoRmV0Y2ggPSAoYXBpUGF0aDogc3RyaW5nLCBvcHRpb25zPzogUmVxdWVzdEluaXQpID0+XG4gICAgICBmZXRjaEFuZENoZWNrU3RhdHVzKGFwaShhcGlQYXRoKSwgeyAuLi4ob3B0aW9ucyB8fCB7fSksIGhlYWRlcnM6IHsgLi4uKG9wdGlvbnMgfHwge30pLmhlYWRlcnMsIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gIH0gfSk7XG5cbiAgICBjb25zdCB2ZXJzaW9uczogRVJTVmVyc2lvbltdID0gYXdhaXQgKGF3YWl0IGF1dGhGZXRjaCgnYXBpL3ZlcnNpb24nKSkuanNvbigpO1xuXG4gICAgZm9yIChjb25zdCBtYWtlUmVzdWx0IG9mIG1ha2VSZXN1bHRzKSB7XG4gICAgICBjb25zdCB7IGFydGlmYWN0cywgcGFja2FnZUpTT04gfSA9IG1ha2VSZXN1bHQ7XG5cbiAgICAgIGNvbnN0IGV4aXN0aW5nVmVyc2lvbiA9IHZlcnNpb25zLmZpbmQoKHZlcnNpb24pID0+IHZlcnNpb24ubmFtZSA9PT0gcGFja2FnZUpTT04udmVyc2lvbik7XG5cbiAgICAgIGxldCBjaGFubmVsID0gJ3N0YWJsZSc7XG4gICAgICBpZiAoY29uZmlnLmNoYW5uZWwpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1kZXN0cnVjdHVyaW5nXG4gICAgICAgIGNoYW5uZWwgPSBjb25maWcuY2hhbm5lbDtcbiAgICAgIH0gZWxzZSBpZiAocGFja2FnZUpTT04udmVyc2lvbi5pbmNsdWRlcygnYmV0YScpKSB7XG4gICAgICAgIGNoYW5uZWwgPSAnYmV0YSc7XG4gICAgICB9IGVsc2UgaWYgKHBhY2thZ2VKU09OLnZlcnNpb24uaW5jbHVkZXMoJ2FscGhhJykpIHtcbiAgICAgICAgY2hhbm5lbCA9ICdhbHBoYSc7XG4gICAgICB9XG5cbiAgICAgIGlmICghZXhpc3RpbmdWZXJzaW9uKSB7XG4gICAgICAgIGF3YWl0IGF1dGhGZXRjaCgnYXBpL3ZlcnNpb24nLCB7XG4gICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgY2hhbm5lbDoge1xuICAgICAgICAgICAgICBuYW1lOiBjaGFubmVsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5hbWU6IHBhY2thZ2VKU09OLnZlcnNpb24sXG4gICAgICAgICAgICBub3RlczogJycsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgbGV0IHVwbG9hZGVkID0gMDtcbiAgICAgIGNvbnN0IGdldFRleHQgPSAoKSA9PiBgVXBsb2FkaW5nIEFydGlmYWN0cyAke3VwbG9hZGVkfS8ke2FydGlmYWN0cy5sZW5ndGh9YDtcblxuICAgICAgYXdhaXQgYXN5bmNPcmEoZ2V0VGV4dCgpLCBhc3luYyAodXBsb2FkU3Bpbm5lcikgPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVTcGlubmVyID0gKCkgPT4ge1xuICAgICAgICAgIHVwbG9hZFNwaW5uZXIudGV4dCA9IGdldFRleHQoKTtcbiAgICAgICAgfTtcblxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICBhcnRpZmFjdHMubWFwKGFzeW5jIChhcnRpZmFjdFBhdGgpID0+IHtcbiAgICAgICAgICAgIGlmIChleGlzdGluZ1ZlcnNpb24pIHtcbiAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdBc3NldCA9IGV4aXN0aW5nVmVyc2lvbi5hc3NldHMuZmluZCgoYXNzZXQpID0+IGFzc2V0Lm5hbWUgPT09IHBhdGguYmFzZW5hbWUoYXJ0aWZhY3RQYXRoKSk7XG5cbiAgICAgICAgICAgICAgaWYgKGV4aXN0aW5nQXNzZXQpIHtcbiAgICAgICAgICAgICAgICBkKCdhc3NldCBhdCBwYXRoOicsIGFydGlmYWN0UGF0aCwgJ2FscmVhZHkgZXhpc3RzIG9uIHNlcnZlcicpO1xuICAgICAgICAgICAgICAgIHVwbG9hZGVkICs9IDE7XG4gICAgICAgICAgICAgICAgdXBkYXRlU3Bpbm5lcigpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZCgnYXR0ZW1wdGluZyB0byB1cGxvYWQgYXNzZXQ6JywgYXJ0aWZhY3RQYXRoKTtcbiAgICAgICAgICAgIGNvbnN0IGFydGlmYWN0Rm9ybSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgICAgICAgICAgYXJ0aWZhY3RGb3JtLmFwcGVuZCgndG9rZW4nLCB0b2tlbik7XG4gICAgICAgICAgICBhcnRpZmFjdEZvcm0uYXBwZW5kKCd2ZXJzaW9uJywgcGFja2FnZUpTT04udmVyc2lvbik7XG4gICAgICAgICAgICBhcnRpZmFjdEZvcm0uYXBwZW5kKCdwbGF0Zm9ybScsIGVyc1BsYXRmb3JtKG1ha2VSZXN1bHQucGxhdGZvcm0sIG1ha2VSZXN1bHQuYXJjaCkpO1xuICAgICAgICAgICAgYXJ0aWZhY3RGb3JtLmFwcGVuZCgnZmlsZScsIGZzLmNyZWF0ZVJlYWRTdHJlYW0oYXJ0aWZhY3RQYXRoKSk7XG4gICAgICAgICAgICBhd2FpdCBhdXRoRmV0Y2goJ2FwaS9hc3NldCcsIHtcbiAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICAgIGJvZHk6IGFydGlmYWN0Rm9ybSxcbiAgICAgICAgICAgICAgaGVhZGVyczogYXJ0aWZhY3RGb3JtLmdldEhlYWRlcnMoKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZCgndXBsb2FkIHN1Y2Nlc3NmdWwgZm9yIGFzc2V0OicsIGFydGlmYWN0UGF0aCk7XG4gICAgICAgICAgICB1cGxvYWRlZCArPSAxO1xuICAgICAgICAgICAgdXBkYXRlU3Bpbm5lcigpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,29 +1,28 @@
1
1
  {
2
2
  "name": "@electron-forge/publisher-electron-release-server",
3
- "version": "6.0.0-beta.6",
3
+ "version": "6.0.0-beta.63",
4
4
  "description": "Electron release server publisher for Electron Forge",
5
5
  "repository": "https://github.com/electron-userland/electron-forge",
6
6
  "author": "Samuel Attard",
7
7
  "license": "MIT",
8
8
  "main": "dist/PublisherERS.js",
9
9
  "typings": "dist/PublisherERS.d.ts",
10
- "scripts": {
11
- "test": "exit 0"
12
- },
13
10
  "devDependencies": {
14
- "chai": "^4.0.0",
15
- "mocha": "^5.0.0"
11
+ "chai": "^4.3.3",
12
+ "fetch-mock": "^9.10.7",
13
+ "mocha": "^9.0.1",
14
+ "proxyquire": "^2.1.3"
16
15
  },
17
16
  "engines": {
18
- "node": ">= 6.0"
17
+ "node": ">= 12.13.0"
19
18
  },
20
19
  "dependencies": {
21
- "@electron-forge/async-ora": "6.0.0-beta.6",
22
- "@electron-forge/publisher-base": "6.0.0-beta.6",
23
- "@electron-forge/shared-types": "6.0.0-beta.6",
24
- "debug": "^3.0.0",
25
- "form-data": "^2.1.4",
26
- "fs-extra": "^5.0.0",
27
- "node-fetch": "^2.0.0"
20
+ "@electron-forge/async-ora": "6.0.0-beta.63",
21
+ "@electron-forge/publisher-base": "6.0.0-beta.63",
22
+ "@electron-forge/shared-types": "6.0.0-beta.63",
23
+ "debug": "^4.3.1",
24
+ "form-data": "^4.0.0",
25
+ "fs-extra": "^10.0.0",
26
+ "node-fetch": "^2.6.0"
28
27
  }
29
28
  }
package/tsconfig.json CHANGED
@@ -1,23 +1,27 @@
1
1
  {
2
- "compilerOptions": {
3
- "module": "commonjs",
4
- "target": "es6",
5
- "outDir": "dist",
6
- "lib": [
7
- "es6",
8
- "dom",
9
- "es7"
10
- ],
11
- "sourceMap": true,
12
- "rootDir": "src",
13
- "experimentalDecorators": true,
14
- "strict": true,
15
- "esModuleInterop": true,
16
- "declaration": true
17
- },
18
- "exclude": [
19
- "node_modules",
20
- "dist",
21
- "test"
22
- ]
23
- }
2
+ "compilerOptions": {
3
+ "module": "commonjs",
4
+ "target": "es2019",
5
+ "outDir": "dist",
6
+ "lib": [
7
+ "dom",
8
+ "es2019"
9
+ ],
10
+ "sourceMap": true,
11
+ "rootDir": ".",
12
+ "experimentalDecorators": true,
13
+ "strict": true,
14
+ "esModuleInterop": true,
15
+ "declaration": true,
16
+ "typeRoots": [
17
+ "../../../node_modules/@types",
18
+ "../../../typings"
19
+ ]
20
+ },
21
+ "exclude": [
22
+ "node_modules",
23
+ "dist",
24
+ "test",
25
+ "index.ts"
26
+ ]
27
+ }