electron-incremental-update 2.2.4 → 2.2.6

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.
@@ -138,8 +138,11 @@ module.exports=${bytecodeModuleBlock}
138
138
  }
139
139
  }
140
140
  const bytecodeLoaderBlock = getBytecodeLoaderBlock(chunk.fileName);
141
- _code = hasBytecodeMoudle ? _code.replace(useStrict, `${useStrict}
142
- ${bytecodeLoaderBlock}`) : _code;
141
+ _code = hasBytecodeMoudle ? _code.replace(
142
+ new RegExp(`(${useStrict})|("use strict";)`),
143
+ `${useStrict}
144
+ ${bytecodeLoaderBlock}`
145
+ ) : _code;
143
146
  }
144
147
  fs.writeFileSync(chunkFilePath, _code);
145
148
  }
@@ -38,15 +38,20 @@ function getHeader(headers, key) {
38
38
  return value;
39
39
  }
40
40
  }
41
- async function downloadUtil(url, headers, signal, onResponse) {
41
+ async function downloadUtil(url, headers, onResponse) {
42
42
  await electron.app.whenReady();
43
43
  return new Promise((resolve, reject) => {
44
- const request = electron.net.request({ url, method: "GET", redirect: "follow", headers, cache: "no-cache" });
45
- signal.addEventListener("abort", () => request.abort(), { once: true });
44
+ const request = electron.net.request({
45
+ cache: "no-cache",
46
+ headers,
47
+ method: "GET",
48
+ redirect: "follow",
49
+ url
50
+ });
46
51
  request.on("response", (resp) => {
47
- resp.on("aborted", () => reject(new Error("aborted")));
48
- resp.on("error", () => reject(new Error("download error")));
49
- onResponse(resp, resolve, reject);
52
+ resp.on("aborted", () => reject(new Error("Aborted")));
53
+ resp.on("error", reject);
54
+ onResponse(request, resp, resolve, reject);
50
55
  });
51
56
  request.on("error", reject);
52
57
  request.end();
@@ -66,11 +71,14 @@ async function defaultDownloadJSON(url, headers, signal, resolveData = defaultRe
66
71
  return await downloadUtil(
67
72
  url,
68
73
  headers,
69
- signal,
70
- (resp, resolve, reject) => {
74
+ (request, resp, resolve, reject) => {
71
75
  let data = "";
72
76
  resp.on("data", (chunk) => data += chunk);
73
77
  resp.on("end", () => resolveData(data, resolve, reject));
78
+ signal.addEventListener("abort", () => {
79
+ request.abort();
80
+ data = null;
81
+ }, { once: true });
74
82
  }
75
83
  );
76
84
  }
@@ -99,25 +107,29 @@ async function defaultDownloadAsar(url, headers, signal, onDownloading) {
99
107
  return await downloadUtil(
100
108
  url,
101
109
  headers,
102
- signal,
103
- (resp, resolve) => {
110
+ (request, resp, resolve) => {
104
111
  const total = +getHeader(resp.headers, "content-length") || -1;
105
- const data = [];
112
+ let data = [];
106
113
  resp.on("data", (chunk) => {
107
114
  const delta = chunk.length;
108
115
  transferred += delta;
109
116
  const current = Date.now();
110
117
  onDownloading?.({
118
+ bps: delta / (current - time),
119
+ delta,
111
120
  percent: total > 0 ? +(transferred / total).toFixed(2) * 100 : -1,
112
121
  total,
113
- transferred,
114
- delta,
115
- bps: delta / (current - time)
122
+ transferred
116
123
  });
117
124
  time = current;
118
125
  data.push(chunk);
119
126
  });
120
127
  resp.on("end", () => resolve(Buffer.concat(data)));
128
+ signal.addEventListener("abort", () => {
129
+ request.abort();
130
+ data.length = 0;
131
+ data = null;
132
+ }, { once: true });
121
133
  }
122
134
  );
123
135
  }
@@ -185,7 +185,7 @@ function convertLiteral(code, sourcemap, offset) {
185
185
  }
186
186
  return {
187
187
  code: s.toString(),
188
- map: sourcemap ? s.generateMap({ hires: true }) : undefined
188
+ map: sourcemap ? s.generateMap({ hires: true }) : void 0
189
189
  };
190
190
  }
191
191
 
@@ -76,7 +76,7 @@ function beautifyDevTools(win, options) {
76
76
  if (scrollbar) {
77
77
  css += ":root{--scrollbar-width:max(.85vw,10px)}@media (prefers-color-scheme:light){:root{--scrollbar-color-rgb:0,0,0}}@media (prefers-color-scheme:dark){:root{--scrollbar-color-rgb:255,255,255}}*::-webkit-scrollbar{width:var(--scrollbar-width)!important;height:var(--scrollbar-width)!important}*::-webkit-scrollbar-track{background-color:transparent!important;border-radius:var(--scrollbar-width)!important;box-shadow:none!important}*::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 var(--scrollbar-width)!important;border-radius:var(--scrollbar-width)!important;border:calc(var(--scrollbar-width) * 2/9) solid transparent!important;background-clip:content-box;background-color:transparent!important;color:rgba(var(--scrollbar-color-rgb),30%)!important}*::-webkit-scrollbar-thumb:hover{color:rgba(var(--scrollbar-color-rgb),45%)!important}*::-webkit-scrollbar-thumb:active{color:rgba(var(--scrollbar-color-rgb),60%)!important}@supports not selector(::-webkit-scrollbar){html{scrollbar-color:rgb(var(--scrollbar-color-rgb));scrollbar-width:thin}}";
78
78
  }
79
- const js = `${'function run(n){let d=document.createElement("style");d.innerHTML=n,document.body.append(d),["platform-windows","platform-mac","platform-linux"].forEach(t=>document.querySelectorAll(`.${t}`).forEach(o=>o.classList.remove(t))),l();const r=new MutationObserver(t=>{for(const o of t)if(o.type==="childList")for(let e=0;e<o.addedNodes.length;e++)o.addedNodes[e].classList.contains("editor-tooltip-host")&&l()});r.observe(document.body,{childList:!0});function l(){document.querySelectorAll(".editor-tooltip-host").forEach(t=>{if(t?.shadowRoot?.querySelectorAll(\'[data-key="overridden-dev-tools-font"]\').length===0){const o=document.createElement("style");o.setAttribute("data-key","overridden-dev-tools-font"),o.innerHTML=`${n}.cm-tooltip-autocomplete ul[role=listbox]{font-family:var(--mono)!important;}`,t.shadowRoot.append(o)}})}document.onclose=()=>r.disconnect()}'};run(\`${css}\`)`;
79
+ const js = `${'function run(n){let d=document.createElement("style");d.innerHTML=n,document.body.append(d),["platform-windows","platform-mac","platform-linux"].forEach(e=>document.querySelectorAll(`.${e}`).forEach(o=>o.classList.remove(e))),l();const r=new MutationObserver(e=>{for(const o of e)if(o.type==="childList")for(let t=0;t<o.addedNodes.length;t++)o.addedNodes[t].classList.contains("editor-tooltip-host")&&l()});r.observe(document.body,{childList:!0});function l(){document.querySelectorAll(".editor-tooltip-host").forEach(e=>{if(e?.shadowRoot?.querySelectorAll(\'[data-key="overridden-dev-tools-font"]\').length===0){const o=document.createElement("style");o.setAttribute("data-key","overridden-dev-tools-font"),o.innerHTML=`${n}.cm-tooltip-autocomplete ul[role=listbox]{font-family:var(--mono)!important;}`,e.shadowRoot.append(o)}})}window.onbeforeunload=()=>r.disconnect()}'};run(\`${css}\`)`;
80
80
  await win?.webContents.devToolsWebContents?.executeJavaScript(js);
81
81
  });
82
82
  }
package/dist/index.cjs CHANGED
@@ -177,7 +177,7 @@ var Updater = class extends events.EventEmitter {
177
177
  this.err("Download failed", "ERR_PARAM", "No update asar buffer and provider");
178
178
  return false;
179
179
  }
180
- const buffer = await this.fetch("buffer", data ? Buffer.from(data) : undefined);
180
+ const buffer = await this.fetch("buffer", data ? Buffer.from(data) : void 0);
181
181
  if (!buffer) {
182
182
  this.err("Download failed", "ERR_PARAM", "No update asar file buffer");
183
183
  return false;
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
+ import { U as UpdateInfo, I as IProvider, D as DownloadingInfo, a as UpdateJSON, b as UpdateJSONWithURL } from './types-1T_tRG8a.cjs';
1
2
  import { Promisable } from '@subframe7536/type-utils';
2
- import { U as UpdateInfo, I as IProvider, D as DownloadingInfo, a as UpdateJSON, b as UpdateJSONWithURL } from './types-C5M2xRjF.cjs';
3
3
  import { EventEmitter } from 'node:events';
4
4
  import 'node:url';
5
5
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
+ import { U as UpdateInfo, I as IProvider, D as DownloadingInfo, a as UpdateJSON, b as UpdateJSONWithURL } from './types-1T_tRG8a.js';
1
2
  import { Promisable } from '@subframe7536/type-utils';
2
- import { U as UpdateInfo, I as IProvider, D as DownloadingInfo, a as UpdateJSON, b as UpdateJSONWithURL } from './types-C5M2xRjF.js';
3
3
  import { EventEmitter } from 'node:events';
4
4
  import 'node:url';
5
5
 
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { isDev, getEntryVersion, getAppVersion, getPathFromAppNameAsar, restartApp } from './chunk-K4N2OHNS.js';
1
+ import { isDev, getEntryVersion, getAppVersion, getPathFromAppNameAsar, restartApp } from './chunk-QKKPETVJ.js';
2
2
  import { isUpdateJSON, __require } from './chunk-AAAM44NW.js';
3
3
  import fs2 from 'node:fs';
4
4
  import path from 'node:path';
@@ -141,7 +141,7 @@ var Updater = class extends EventEmitter {
141
141
  this.err("Download failed", "ERR_PARAM", "No update asar buffer and provider");
142
142
  return false;
143
143
  }
144
- const buffer = await this.fetch("buffer", data ? Buffer.from(data) : undefined);
144
+ const buffer = await this.fetch("buffer", data ? Buffer.from(data) : void 0);
145
145
  if (!buffer) {
146
146
  this.err("Download failed", "ERR_PARAM", "No update asar file buffer");
147
147
  return false;
package/dist/provider.cjs CHANGED
@@ -71,15 +71,20 @@ function getHeader(headers, key) {
71
71
  return value;
72
72
  }
73
73
  }
74
- async function downloadUtil(url, headers, signal, onResponse) {
74
+ async function downloadUtil(url, headers, onResponse) {
75
75
  await electron__default.default.app.whenReady();
76
76
  return new Promise((resolve, reject) => {
77
- const request = electron__default.default.net.request({ url, method: "GET", redirect: "follow", headers, cache: "no-cache" });
78
- signal.addEventListener("abort", () => request.abort(), { once: true });
77
+ const request = electron__default.default.net.request({
78
+ cache: "no-cache",
79
+ headers,
80
+ method: "GET",
81
+ redirect: "follow",
82
+ url
83
+ });
79
84
  request.on("response", (resp) => {
80
- resp.on("aborted", () => reject(new Error("aborted")));
81
- resp.on("error", () => reject(new Error("download error")));
82
- onResponse(resp, resolve, reject);
85
+ resp.on("aborted", () => reject(new Error("Aborted")));
86
+ resp.on("error", reject);
87
+ onResponse(request, resp, resolve, reject);
83
88
  });
84
89
  request.on("error", reject);
85
90
  request.end();
@@ -99,11 +104,14 @@ async function defaultDownloadJSON(url, headers, signal, resolveData = defaultRe
99
104
  return await downloadUtil(
100
105
  url,
101
106
  headers,
102
- signal,
103
- (resp, resolve, reject) => {
107
+ (request, resp, resolve, reject) => {
104
108
  let data = "";
105
109
  resp.on("data", (chunk) => data += chunk);
106
110
  resp.on("end", () => resolveData(data, resolve, reject));
111
+ signal.addEventListener("abort", () => {
112
+ request.abort();
113
+ data = null;
114
+ }, { once: true });
107
115
  }
108
116
  );
109
117
  }
@@ -132,25 +140,29 @@ async function defaultDownloadAsar(url, headers, signal, onDownloading) {
132
140
  return await downloadUtil(
133
141
  url,
134
142
  headers,
135
- signal,
136
- (resp, resolve) => {
143
+ (request, resp, resolve) => {
137
144
  const total = +getHeader(resp.headers, "content-length") || -1;
138
- const data = [];
145
+ let data = [];
139
146
  resp.on("data", (chunk) => {
140
147
  const delta = chunk.length;
141
148
  transferred += delta;
142
149
  const current = Date.now();
143
150
  onDownloading?.({
151
+ bps: delta / (current - time),
152
+ delta,
144
153
  percent: total > 0 ? +(transferred / total).toFixed(2) * 100 : -1,
145
154
  total,
146
- transferred,
147
- delta,
148
- bps: delta / (current - time)
155
+ transferred
149
156
  });
150
157
  time = current;
151
158
  data.push(chunk);
152
159
  });
153
160
  resp.on("end", () => resolve(Buffer.concat(data)));
161
+ signal.addEventListener("abort", () => {
162
+ request.abort();
163
+ data.length = 0;
164
+ data = null;
165
+ }, { once: true });
154
166
  }
155
167
  );
156
168
  }
@@ -1,7 +1,7 @@
1
- import { c as defaultVerifySignature, l as defaultUnzipFile } from './zip-BQS8qbGA.cjs';
2
- export { j as defaultDownloadAsar, f as defaultDownloadJSON, i as defaultDownloadUpdateJSON, e as downloadUtil, g as getHeader } from './zip-BQS8qbGA.cjs';
3
- import { e as UpdateInfoWithURL, I as IProvider, d as defaultIsLowerVersion, D as DownloadingInfo, f as URLHandler } from './types-C5M2xRjF.cjs';
4
- export { b as UpdateJSONWithURL } from './types-C5M2xRjF.cjs';
1
+ import { c as defaultVerifySignature, l as defaultUnzipFile } from './zip-ChpUyjy1.cjs';
2
+ export { j as defaultDownloadAsar, f as defaultDownloadJSON, i as defaultDownloadUpdateJSON, e as downloadUtil, g as getHeader } from './zip-ChpUyjy1.cjs';
3
+ import { e as UpdateInfoWithURL, I as IProvider, d as defaultIsLowerVersion, D as DownloadingInfo, f as URLHandler } from './types-1T_tRG8a.cjs';
4
+ export { b as UpdateJSONWithURL } from './types-1T_tRG8a.cjs';
5
5
  import '@subframe7536/type-utils';
6
6
  import 'electron';
7
7
  import 'node:url';
@@ -1,7 +1,7 @@
1
- import { c as defaultVerifySignature, l as defaultUnzipFile } from './zip-DbfskMQi.js';
2
- export { j as defaultDownloadAsar, f as defaultDownloadJSON, i as defaultDownloadUpdateJSON, e as downloadUtil, g as getHeader } from './zip-DbfskMQi.js';
3
- import { e as UpdateInfoWithURL, I as IProvider, d as defaultIsLowerVersion, D as DownloadingInfo, f as URLHandler } from './types-C5M2xRjF.js';
4
- export { b as UpdateJSONWithURL } from './types-C5M2xRjF.js';
1
+ import { c as defaultVerifySignature, l as defaultUnzipFile } from './zip-DUHOPZrB.js';
2
+ export { j as defaultDownloadAsar, f as defaultDownloadJSON, i as defaultDownloadUpdateJSON, e as downloadUtil, g as getHeader } from './zip-DUHOPZrB.js';
3
+ import { e as UpdateInfoWithURL, I as IProvider, d as defaultIsLowerVersion, D as DownloadingInfo, f as URLHandler } from './types-1T_tRG8a.js';
4
+ export { b as UpdateJSONWithURL } from './types-1T_tRG8a.js';
5
5
  import '@subframe7536/type-utils';
6
6
  import 'electron';
7
7
  import 'node:url';
package/dist/provider.js CHANGED
@@ -1,5 +1,5 @@
1
- import { defaultVerifySignature, defaultUnzipFile, defaultDownloadUpdateJSON, defaultDownloadAsar, defaultDownloadJSON } from './chunk-D7NXTCQW.js';
2
- export { defaultDownloadAsar, defaultDownloadJSON, defaultDownloadUpdateJSON, downloadUtil, getHeader } from './chunk-D7NXTCQW.js';
1
+ import { defaultVerifySignature, defaultUnzipFile, defaultDownloadUpdateJSON, defaultDownloadAsar, defaultDownloadJSON } from './chunk-KLUIYBS4.js';
2
+ export { defaultDownloadAsar, defaultDownloadJSON, defaultDownloadUpdateJSON, downloadUtil, getHeader } from './chunk-KLUIYBS4.js';
3
3
  import { defaultIsLowerVersion } from './chunk-AAAM44NW.js';
4
4
  import { URL } from 'node:url';
5
5
 
@@ -119,7 +119,7 @@ interface IProvider<T extends UpdateInfoWithURL = UpdateInfoWithURL> {
119
119
  */
120
120
  downloadJSON: (name: string, versionPath: string, signal: AbortSignal) => Promise<T>;
121
121
  /**
122
- * Download update asar
122
+ * Download update asar buffer
123
123
  * @param updateInfo existing update info
124
124
  * @param signal abort signal
125
125
  * @param onDownloading hook for on downloading
@@ -119,7 +119,7 @@ interface IProvider<T extends UpdateInfoWithURL = UpdateInfoWithURL> {
119
119
  */
120
120
  downloadJSON: (name: string, versionPath: string, signal: AbortSignal) => Promise<T>;
121
121
  /**
122
- * Download update asar
122
+ * Download update asar buffer
123
123
  * @param updateInfo existing update info
124
124
  * @param signal abort signal
125
125
  * @param onDownloading hook for on downloading
package/dist/utils.cjs CHANGED
@@ -119,15 +119,20 @@ function getHeader(headers, key) {
119
119
  return value;
120
120
  }
121
121
  }
122
- async function downloadUtil(url, headers, signal, onResponse) {
122
+ async function downloadUtil(url, headers, onResponse) {
123
123
  await electron2__default.default.app.whenReady();
124
124
  return new Promise((resolve, reject) => {
125
- const request = electron2__default.default.net.request({ url, method: "GET", redirect: "follow", headers, cache: "no-cache" });
126
- signal.addEventListener("abort", () => request.abort(), { once: true });
125
+ const request = electron2__default.default.net.request({
126
+ cache: "no-cache",
127
+ headers,
128
+ method: "GET",
129
+ redirect: "follow",
130
+ url
131
+ });
127
132
  request.on("response", (resp) => {
128
- resp.on("aborted", () => reject(new Error("aborted")));
129
- resp.on("error", () => reject(new Error("download error")));
130
- onResponse(resp, resolve, reject);
133
+ resp.on("aborted", () => reject(new Error("Aborted")));
134
+ resp.on("error", reject);
135
+ onResponse(request, resp, resolve, reject);
131
136
  });
132
137
  request.on("error", reject);
133
138
  request.end();
@@ -147,11 +152,14 @@ async function defaultDownloadJSON(url, headers, signal, resolveData = defaultRe
147
152
  return await downloadUtil(
148
153
  url,
149
154
  headers,
150
- signal,
151
- (resp, resolve, reject) => {
155
+ (request, resp, resolve, reject) => {
152
156
  let data = "";
153
157
  resp.on("data", (chunk) => data += chunk);
154
158
  resp.on("end", () => resolveData(data, resolve, reject));
159
+ signal.addEventListener("abort", () => {
160
+ request.abort();
161
+ data = null;
162
+ }, { once: true });
155
163
  }
156
164
  );
157
165
  }
@@ -180,25 +188,29 @@ async function defaultDownloadAsar(url, headers, signal, onDownloading) {
180
188
  return await downloadUtil(
181
189
  url,
182
190
  headers,
183
- signal,
184
- (resp, resolve) => {
191
+ (request, resp, resolve) => {
185
192
  const total = +getHeader(resp.headers, "content-length") || -1;
186
- const data = [];
193
+ let data = [];
187
194
  resp.on("data", (chunk) => {
188
195
  const delta = chunk.length;
189
196
  transferred += delta;
190
197
  const current = Date.now();
191
198
  onDownloading?.({
199
+ bps: delta / (current - time),
200
+ delta,
192
201
  percent: total > 0 ? +(transferred / total).toFixed(2) * 100 : -1,
193
202
  total,
194
- transferred,
195
- delta,
196
- bps: delta / (current - time)
203
+ transferred
197
204
  });
198
205
  time = current;
199
206
  data.push(chunk);
200
207
  });
201
208
  resp.on("end", () => resolve(Buffer.concat(data)));
209
+ signal.addEventListener("abort", () => {
210
+ request.abort();
211
+ data.length = 0;
212
+ data = null;
213
+ }, { once: true });
202
214
  }
203
215
  );
204
216
  }
@@ -275,7 +287,7 @@ function beautifyDevTools(win, options) {
275
287
  if (scrollbar) {
276
288
  css += ":root{--scrollbar-width:max(.85vw,10px)}@media (prefers-color-scheme:light){:root{--scrollbar-color-rgb:0,0,0}}@media (prefers-color-scheme:dark){:root{--scrollbar-color-rgb:255,255,255}}*::-webkit-scrollbar{width:var(--scrollbar-width)!important;height:var(--scrollbar-width)!important}*::-webkit-scrollbar-track{background-color:transparent!important;border-radius:var(--scrollbar-width)!important;box-shadow:none!important}*::-webkit-scrollbar-thumb{box-shadow:inset 0 0 0 var(--scrollbar-width)!important;border-radius:var(--scrollbar-width)!important;border:calc(var(--scrollbar-width) * 2/9) solid transparent!important;background-clip:content-box;background-color:transparent!important;color:rgba(var(--scrollbar-color-rgb),30%)!important}*::-webkit-scrollbar-thumb:hover{color:rgba(var(--scrollbar-color-rgb),45%)!important}*::-webkit-scrollbar-thumb:active{color:rgba(var(--scrollbar-color-rgb),60%)!important}@supports not selector(::-webkit-scrollbar){html{scrollbar-color:rgb(var(--scrollbar-color-rgb));scrollbar-width:thin}}";
277
289
  }
278
- const js = `${'function run(n){let d=document.createElement("style");d.innerHTML=n,document.body.append(d),["platform-windows","platform-mac","platform-linux"].forEach(t=>document.querySelectorAll(`.${t}`).forEach(o=>o.classList.remove(t))),l();const r=new MutationObserver(t=>{for(const o of t)if(o.type==="childList")for(let e=0;e<o.addedNodes.length;e++)o.addedNodes[e].classList.contains("editor-tooltip-host")&&l()});r.observe(document.body,{childList:!0});function l(){document.querySelectorAll(".editor-tooltip-host").forEach(t=>{if(t?.shadowRoot?.querySelectorAll(\'[data-key="overridden-dev-tools-font"]\').length===0){const o=document.createElement("style");o.setAttribute("data-key","overridden-dev-tools-font"),o.innerHTML=`${n}.cm-tooltip-autocomplete ul[role=listbox]{font-family:var(--mono)!important;}`,t.shadowRoot.append(o)}})}document.onclose=()=>r.disconnect()}'};run(\`${css}\`)`;
290
+ const js = `${'function run(n){let d=document.createElement("style");d.innerHTML=n,document.body.append(d),["platform-windows","platform-mac","platform-linux"].forEach(e=>document.querySelectorAll(`.${e}`).forEach(o=>o.classList.remove(e))),l();const r=new MutationObserver(e=>{for(const o of e)if(o.type==="childList")for(let t=0;t<o.addedNodes.length;t++)o.addedNodes[t].classList.contains("editor-tooltip-host")&&l()});r.observe(document.body,{childList:!0});function l(){document.querySelectorAll(".editor-tooltip-host").forEach(e=>{if(e?.shadowRoot?.querySelectorAll(\'[data-key="overridden-dev-tools-font"]\').length===0){const o=document.createElement("style");o.setAttribute("data-key","overridden-dev-tools-font"),o.innerHTML=`${n}.cm-tooltip-autocomplete ul[role=listbox]{font-family:var(--mono)!important;}`,e.shadowRoot.append(o)}})}window.onbeforeunload=()=>r.disconnect()}'};run(\`${css}\`)`;
279
291
  await win?.webContents.devToolsWebContents?.executeJavaScript(js);
280
292
  });
281
293
  }
package/dist/utils.d.cts CHANGED
@@ -1,6 +1,6 @@
1
- export { b as aesDecrypt, a as aesEncrypt, j as defaultDownloadAsar, f as defaultDownloadJSON, i as defaultDownloadUpdateJSON, d as defaultSignature, l as defaultUnzipFile, c as defaultVerifySignature, k as defaultZipFile, e as downloadUtil, g as getHeader, h as hashBuffer } from './zip-BQS8qbGA.cjs';
1
+ export { b as aesDecrypt, a as aesEncrypt, j as defaultDownloadAsar, f as defaultDownloadJSON, i as defaultDownloadUpdateJSON, d as defaultSignature, l as defaultUnzipFile, c as defaultVerifySignature, k as defaultZipFile, e as downloadUtil, g as getHeader, h as hashBuffer } from './zip-ChpUyjy1.cjs';
2
2
  import { BrowserWindow } from 'electron';
3
- export { U as UpdateInfo, a as UpdateJSON, V as Version, d as defaultIsLowerVersion, c as defaultVersionJsonGenerator, i as isUpdateJSON, p as parseVersion } from './types-C5M2xRjF.cjs';
3
+ export { U as UpdateInfo, a as UpdateJSON, V as Version, d as defaultIsLowerVersion, c as defaultVersionJsonGenerator, i as isUpdateJSON, p as parseVersion } from './types-1T_tRG8a.cjs';
4
4
  import '@subframe7536/type-utils';
5
5
  import 'node:url';
6
6
 
package/dist/utils.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { b as aesDecrypt, a as aesEncrypt, j as defaultDownloadAsar, f as defaultDownloadJSON, i as defaultDownloadUpdateJSON, d as defaultSignature, l as defaultUnzipFile, c as defaultVerifySignature, k as defaultZipFile, e as downloadUtil, g as getHeader, h as hashBuffer } from './zip-DbfskMQi.js';
1
+ export { b as aesDecrypt, a as aesEncrypt, j as defaultDownloadAsar, f as defaultDownloadJSON, i as defaultDownloadUpdateJSON, d as defaultSignature, l as defaultUnzipFile, c as defaultVerifySignature, k as defaultZipFile, e as downloadUtil, g as getHeader, h as hashBuffer } from './zip-DUHOPZrB.js';
2
2
  import { BrowserWindow } from 'electron';
3
- export { U as UpdateInfo, a as UpdateJSON, V as Version, d as defaultIsLowerVersion, c as defaultVersionJsonGenerator, i as isUpdateJSON, p as parseVersion } from './types-C5M2xRjF.js';
3
+ export { U as UpdateInfo, a as UpdateJSON, V as Version, d as defaultIsLowerVersion, c as defaultVersionJsonGenerator, i as isUpdateJSON, p as parseVersion } from './types-1T_tRG8a.js';
4
4
  import '@subframe7536/type-utils';
5
5
  import 'node:url';
6
6
 
package/dist/utils.js CHANGED
@@ -1,3 +1,3 @@
1
- export { beautifyDevTools, disableHWAccForWin7, getAppVersion, getEntryVersion, getPathFromAppNameAsar, getPathFromEntryAsar, getPathFromMain, getPathFromPreload, getPathFromPublic, handleUnexpectedErrors, importNative, isDev, isLinux, isMac, isWin, loadPage, reloadOnPreloadScriptChanged, requireNative, restartApp, setAppUserModelId, setPortableAppDataPath, singleInstance } from './chunk-K4N2OHNS.js';
2
- export { aesDecrypt, aesEncrypt, defaultDownloadAsar, defaultDownloadJSON, defaultDownloadUpdateJSON, defaultSignature, defaultUnzipFile, defaultVerifySignature, defaultZipFile, downloadUtil, getHeader, hashBuffer } from './chunk-D7NXTCQW.js';
1
+ export { beautifyDevTools, disableHWAccForWin7, getAppVersion, getEntryVersion, getPathFromAppNameAsar, getPathFromEntryAsar, getPathFromMain, getPathFromPreload, getPathFromPublic, handleUnexpectedErrors, importNative, isDev, isLinux, isMac, isWin, loadPage, reloadOnPreloadScriptChanged, requireNative, restartApp, setAppUserModelId, setPortableAppDataPath, singleInstance } from './chunk-QKKPETVJ.js';
2
+ export { aesDecrypt, aesEncrypt, defaultDownloadAsar, defaultDownloadJSON, defaultDownloadUpdateJSON, defaultSignature, defaultUnzipFile, defaultVerifySignature, defaultZipFile, downloadUtil, getHeader, hashBuffer } from './chunk-KLUIYBS4.js';
3
3
  export { defaultIsLowerVersion, defaultVersionJsonGenerator, isUpdateJSON, parseVersion } from './chunk-AAAM44NW.js';
package/dist/vite.d.ts CHANGED
@@ -1,6 +1,6 @@
1
+ import { Promisable } from '@subframe7536/type-utils';
1
2
  import { InlineConfig, PluginOption } from 'vite';
2
3
  import { ElectronSimpleOptions } from 'vite-plugin-electron/simple';
3
- import { Promisable } from '@subframe7536/type-utils';
4
4
  export { isCI } from 'ci-info';
5
5
  export { getPackageInfo, getPackageInfoSync, loadPackageJSON, resolveModule } from 'local-pkg';
6
6
 
@@ -90,7 +90,7 @@ interface BuildEntryOption {
90
90
  */
91
91
  appEntryPath?: string;
92
92
  /**
93
- * Esbuild path map of native modules in entry directory
93
+ * Vite input options of native modules in entry directory
94
94
  *
95
95
  * @default {}
96
96
  * @example
package/dist/vite.js CHANGED
@@ -89,7 +89,7 @@ async function buildEntry({
89
89
  vite: mergeConfig({
90
90
  plugins: [
91
91
  isESM && await import('./esm-4S4XCVEW.js').then((m) => m.esm()),
92
- bytecodeOptions && await import('./bytecode-R2B4KTMV.js').then((m) => m.bytecodePlugin("main", bytecodeOptions))
92
+ bytecodeOptions && await import('./bytecode-7J2ZQDDO.js').then((m) => m.bytecodePlugin("main", bytecodeOptions))
93
93
  ],
94
94
  build: {
95
95
  sourcemap,
@@ -226,7 +226,7 @@ function parseOptions(pkg, sourcemap = false, minify = false, options = {}) {
226
226
  return false;
227
227
  }
228
228
  if (!external) {
229
- return undefined;
229
+ return void 0;
230
230
  }
231
231
  if (typeof external === "string") {
232
232
  return source === external;
@@ -309,16 +309,16 @@ async function electronWithUpdater(options) {
309
309
  } = options;
310
310
  if (!pkg || !pkg.version || !pkg.name || !pkg.main) {
311
311
  log.error("package.json not found or invalid", { timestamp: true });
312
- return undefined;
312
+ return void 0;
313
313
  }
314
314
  const isESM = pkg.type === "module";
315
- let bytecodeOptions = typeof bytecode === "object" ? bytecode : bytecode === true ? { enable: true } : undefined;
315
+ let bytecodeOptions = typeof bytecode === "object" ? bytecode : bytecode === true ? { enable: true } : void 0;
316
316
  if (isESM && bytecodeOptions?.enable) {
317
317
  (await import('./constant-ME27JB5D.js')).bytecodeLog.warn(
318
318
  '`bytecodePlugin` does not support ES module, please remove "type": "module" in package.json',
319
319
  { timestamp: true }
320
320
  );
321
- bytecodeOptions = undefined;
321
+ bytecodeOptions = void 0;
322
322
  }
323
323
  const {
324
324
  buildAsarOption,
@@ -388,7 +388,7 @@ async function electronWithUpdater(options) {
388
388
  external: (src) => src.startsWith("node:") || Object.keys("dependencies" in pkg ? pkg.dependencies : {}).includes(src) || src === "original-fs",
389
389
  treeshake: true
390
390
  };
391
- const esmShimPlugin = isESM ? (await import('./esm-4S4XCVEW.js')).esm() : undefined;
391
+ const esmShimPlugin = isESM ? (await import('./esm-4S4XCVEW.js')).esm() : void 0;
392
392
  const electronPluginOptions = {
393
393
  main: {
394
394
  entry: _main.files,
@@ -407,8 +407,8 @@ async function electronWithUpdater(options) {
407
407
  vite: mergeConfig(
408
408
  {
409
409
  plugins: [
410
- !isBuild && useNotBundle ? notBundle() : undefined,
411
- bytecodeOptions && await import('./bytecode-R2B4KTMV.js').then((m) => m.bytecodePlugin("main", bytecodeOptions)),
410
+ !isBuild && useNotBundle ? notBundle() : void 0,
411
+ bytecodeOptions && await import('./bytecode-7J2ZQDDO.js').then((m) => m.bytecodePlugin("main", bytecodeOptions)),
412
412
  esmShimPlugin
413
413
  ],
414
414
  build: {
@@ -428,7 +428,7 @@ async function electronWithUpdater(options) {
428
428
  vite: mergeConfig(
429
429
  {
430
430
  plugins: [
431
- bytecodeOptions && (await import('./bytecode-R2B4KTMV.js')).bytecodePlugin("preload", bytecodeOptions),
431
+ bytecodeOptions && (await import('./bytecode-7J2ZQDDO.js')).bytecodePlugin("preload", bytecodeOptions),
432
432
  esmShimPlugin,
433
433
  {
434
434
  name: `${id}-build`,
@@ -449,7 +449,7 @@ async function electronWithUpdater(options) {
449
449
  }
450
450
  ],
451
451
  build: {
452
- sourcemap: sourcemap ? "inline" : undefined,
452
+ sourcemap: sourcemap ? "inline" : void 0,
453
453
  minify,
454
454
  outDir: `${buildAsarOption.electronDistPath}/preload`,
455
455
  rollupOptions
@@ -1,5 +1,5 @@
1
+ import { a as UpdateJSON, D as DownloadingInfo } from './types-1T_tRG8a.cjs';
1
2
  import { Arrayable } from '@subframe7536/type-utils';
2
- import { a as UpdateJSON, D as DownloadingInfo } from './types-C5M2xRjF.cjs';
3
3
  import { IncomingMessage } from 'electron';
4
4
 
5
5
  declare function hashBuffer(data: string | Buffer, length: number): Buffer;
@@ -29,7 +29,7 @@ declare function defaultVerifySignature(buffer: Buffer, version: string, signatu
29
29
  * @param key target header key
30
30
  */
31
31
  declare function getHeader(headers: Record<string, Arrayable<string>>, key: any): any;
32
- declare function downloadUtil<T>(url: string, headers: Record<string, any>, signal: AbortSignal, onResponse: (resp: IncomingMessage, resolve: (data: T) => void, reject: (e: any) => void) => void): Promise<T>;
32
+ declare function downloadUtil<T>(url: string, headers: Record<string, any>, onResponse: (req: Electron.ClientRequest, resp: IncomingMessage, resolve: (data: T) => void, reject: (e: any) => void) => void): Promise<T>;
33
33
  type ResolveDataFn = (data: string, resolve: (data: any) => void, reject: (e: any) => void) => void;
34
34
  /**
35
35
  * Default function to download json and parse to UpdateJson
@@ -1,5 +1,5 @@
1
+ import { a as UpdateJSON, D as DownloadingInfo } from './types-1T_tRG8a.js';
1
2
  import { Arrayable } from '@subframe7536/type-utils';
2
- import { a as UpdateJSON, D as DownloadingInfo } from './types-C5M2xRjF.js';
3
3
  import { IncomingMessage } from 'electron';
4
4
 
5
5
  declare function hashBuffer(data: string | Buffer, length: number): Buffer;
@@ -29,7 +29,7 @@ declare function defaultVerifySignature(buffer: Buffer, version: string, signatu
29
29
  * @param key target header key
30
30
  */
31
31
  declare function getHeader(headers: Record<string, Arrayable<string>>, key: any): any;
32
- declare function downloadUtil<T>(url: string, headers: Record<string, any>, signal: AbortSignal, onResponse: (resp: IncomingMessage, resolve: (data: T) => void, reject: (e: any) => void) => void): Promise<T>;
32
+ declare function downloadUtil<T>(url: string, headers: Record<string, any>, onResponse: (req: Electron.ClientRequest, resp: IncomingMessage, resolve: (data: T) => void, reject: (e: any) => void) => void): Promise<T>;
33
33
  type ResolveDataFn = (data: string, resolve: (data: any) => void, reject: (e: any) => void) => void;
34
34
  /**
35
35
  * Default function to download json and parse to UpdateJson
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "electron-incremental-update",
3
3
  "type": "module",
4
- "version": "2.2.4",
4
+ "version": "2.2.6",
5
5
  "description": "Electron incremental update tools with Vite plugin, support bytecode protection",
6
6
  "author": "subframe7536",
7
7
  "license": "MIT",
@@ -56,36 +56,41 @@
56
56
  "registry": "https://registry.npmjs.org/"
57
57
  },
58
58
  "peerDependencies": {
59
- "@electron/asar": "*",
60
- "esbuild": "*"
59
+ "@electron/asar": "*"
61
60
  },
62
61
  "dependencies": {
63
- "@babel/core": "^7.26.7",
64
- "@babel/plugin-transform-arrow-functions": "^7.25.9",
65
- "@babel/plugin-transform-template-literals": "^7.25.9",
66
- "@subframe7536/type-utils": "^0.1.6",
67
- "ci-info": "^4.1.0",
68
- "local-pkg": "^1.0.0",
62
+ "@babel/core": "^7.27.1",
63
+ "@babel/plugin-transform-arrow-functions": "^7.27.1",
64
+ "@babel/plugin-transform-template-literals": "^7.27.1",
65
+ "@subframe7536/type-utils": "^0.2.0",
66
+ "ci-info": "^4.2.0",
67
+ "local-pkg": "^1.1.1",
69
68
  "magic-string": "^0.30.17",
70
69
  "selfsigned": "^2.4.1",
71
70
  "vite-plugin-electron": "^0.29.0"
72
71
  },
73
72
  "devDependencies": {
74
- "@subframe7536/eslint-config": "^1.1.8",
73
+ "@subframe7536/eslint-config": "^1.2.4",
75
74
  "@types/babel__core": "^7.20.5",
76
- "@types/node": "^20.17.17",
77
- "bumpp": "^10.0.1",
78
- "electron": "34.0.2",
79
- "eslint": "^9.19.0",
80
- "tsup": "^8.3.6",
81
- "typescript": "^5.7.3",
82
- "vite": "^6.0.11",
75
+ "@types/node": "^22.15.17",
76
+ "bumpp": "^10.1.0",
77
+ "electron": "36.2.0",
78
+ "esbuild": "^0.25.4",
79
+ "eslint": "^9.26.0",
80
+ "tsup": "^8.4.0",
81
+ "typescript": "^5.8.3",
82
+ "vite": "^6.3.5",
83
83
  "vite-plugin-electron": "^0.29.0",
84
- "vitest": "^3.0.5"
84
+ "vitest": "^3.1.3"
85
85
  },
86
86
  "pnpm": {
87
87
  "overrides": {
88
- "is-core-module": "npm:@nolyfill/is-core-module@^1"
89
- }
88
+ "is-core-module": "npm:@nolyfill/is-core-module@^1.0.39"
89
+ },
90
+ "onlyBuiltDependencies": [
91
+ "electron",
92
+ "esbuild",
93
+ "unrs-resolver"
94
+ ]
90
95
  }
91
96
  }