electron-incremental-update 2.4.3 → 3.0.0-beta.3
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/README.md +48 -40
- package/dist/download-BN4uMS4_.d.mts +39 -0
- package/dist/download-DO7iuxEJ.d.cts +39 -0
- package/dist/electron-DH-Uyikp.cjs +321 -0
- package/dist/electron-OKQIYbcw.mjs +181 -0
- package/dist/index.cjs +261 -331
- package/dist/index.d.cts +179 -169
- package/dist/index.d.mts +204 -0
- package/dist/index.mjs +273 -0
- package/dist/provider.cjs +142 -330
- package/dist/provider.d.cts +113 -114
- package/dist/provider.d.mts +133 -0
- package/dist/provider.mjs +152 -0
- package/dist/types-BM9Jfu7q.d.cts +154 -0
- package/dist/types-DASqEPXE.d.mts +154 -0
- package/dist/utils.cjs +43 -381
- package/dist/utils.d.cts +120 -85
- package/dist/utils.d.mts +164 -0
- package/dist/utils.mjs +5 -0
- package/dist/version--eVB2A7n.mjs +72 -0
- package/dist/version-aPrLuz_-.cjs +129 -0
- package/dist/vite.d.mts +521 -0
- package/dist/vite.mjs +1094 -0
- package/dist/zip-BCC7FAQ_.cjs +264 -0
- package/dist/zip-Dwm7s1C9.mjs +185 -0
- package/package.json +66 -64
- package/dist/chunk-AAAM44NW.js +0 -70
- package/dist/chunk-IVHNGRZY.js +0 -122
- package/dist/chunk-PD4EV4MM.js +0 -147
- package/dist/index.d.ts +0 -194
- package/dist/index.js +0 -309
- package/dist/provider.d.ts +0 -134
- package/dist/provider.js +0 -152
- package/dist/types-CU7GyVez.d.cts +0 -151
- package/dist/types-CU7GyVez.d.ts +0 -151
- package/dist/utils.d.ts +0 -129
- package/dist/utils.js +0 -3
- package/dist/vite.d.ts +0 -533
- package/dist/vite.js +0 -945
- package/dist/zip-Blmn2vzE.d.cts +0 -71
- package/dist/zip-CnSv_Njj.d.ts +0 -71
- package/provider.d.ts +0 -1
- package/provider.js +0 -1
- package/utils.d.ts +0 -1
- package/utils.js +0 -1
- package/vite.d.ts +0 -1
- package/vite.js +0 -1
package/dist/utils.cjs
CHANGED
|
@@ -1,382 +1,44 @@
|
|
|
1
|
-
|
|
1
|
+
const require_version = require('./version-aPrLuz_-.cjs');
|
|
2
|
+
const require_electron = require('./electron-DH-Uyikp.cjs');
|
|
3
|
+
const require_zip = require('./zip-BCC7FAQ_.cjs');
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
return crypto__default.default.createVerify("RSA-SHA256").update(buffer).verify(cert, sig, "base64");
|
|
46
|
-
} catch {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// src/utils/version.ts
|
|
52
|
-
function parseVersion(version) {
|
|
53
|
-
const match = /^(\d+)\.(\d+)\.(\d+)(?:-([a-z0-9.-]+))?/i.exec(version);
|
|
54
|
-
if (!match) {
|
|
55
|
-
throw new TypeError(`invalid version: ${version}`);
|
|
56
|
-
}
|
|
57
|
-
const [major, minor, patch] = match.slice(1, 4).map(Number);
|
|
58
|
-
const ret = {
|
|
59
|
-
major,
|
|
60
|
-
minor,
|
|
61
|
-
patch,
|
|
62
|
-
stage: "",
|
|
63
|
-
stageVersion: -1
|
|
64
|
-
};
|
|
65
|
-
if (match[4]) {
|
|
66
|
-
let [stage, _v] = match[4].split(".");
|
|
67
|
-
ret.stage = stage;
|
|
68
|
-
ret.stageVersion = Number(_v) || -1;
|
|
69
|
-
}
|
|
70
|
-
if (Number.isNaN(major) || Number.isNaN(minor) || Number.isNaN(patch) || Number.isNaN(ret.stageVersion)) {
|
|
71
|
-
throw new TypeError(`Invalid version: ${version}`);
|
|
72
|
-
}
|
|
73
|
-
return ret;
|
|
74
|
-
}
|
|
75
|
-
function compareStrings(str1, str2) {
|
|
76
|
-
if (str1 === "") {
|
|
77
|
-
return str2 !== "";
|
|
78
|
-
} else if (str2 === "") {
|
|
79
|
-
return true;
|
|
80
|
-
}
|
|
81
|
-
return str1 < str2;
|
|
82
|
-
}
|
|
83
|
-
function defaultIsLowerVersion(oldVer, newVer) {
|
|
84
|
-
const oldV = parseVersion(oldVer);
|
|
85
|
-
const newV = parseVersion(newVer);
|
|
86
|
-
for (let key of Object.keys(oldV)) {
|
|
87
|
-
if (key === "stage" && compareStrings(oldV[key], newV[key])) {
|
|
88
|
-
return true;
|
|
89
|
-
} else if (oldV[key] !== newV[key]) {
|
|
90
|
-
return oldV[key] < newV[key];
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
var is = (j) => !!(j && j.minimumVersion && j.signature && j.version);
|
|
96
|
-
function isUpdateJSON(json) {
|
|
97
|
-
return is(json) && is(json?.beta);
|
|
98
|
-
}
|
|
99
|
-
function defaultVersionJsonGenerator(existingJson, signature, version, minimumVersion) {
|
|
100
|
-
existingJson.beta = {
|
|
101
|
-
version,
|
|
102
|
-
minimumVersion,
|
|
103
|
-
signature
|
|
104
|
-
};
|
|
105
|
-
if (!parseVersion(version).stage) {
|
|
106
|
-
existingJson.version = version;
|
|
107
|
-
existingJson.minimumVersion = minimumVersion;
|
|
108
|
-
existingJson.signature = signature;
|
|
109
|
-
}
|
|
110
|
-
return existingJson;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// src/utils/download.ts
|
|
114
|
-
function getHeader(headers, key) {
|
|
115
|
-
const value = headers[key];
|
|
116
|
-
if (Array.isArray(value)) {
|
|
117
|
-
return value.length === 0 ? null : value[value.length - 1];
|
|
118
|
-
} else {
|
|
119
|
-
return value;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
async function downloadUtil(url, headers, onResponse) {
|
|
123
|
-
await electron2__default.default.app.whenReady();
|
|
124
|
-
return new Promise((resolve, reject) => {
|
|
125
|
-
const request = electron2__default.default.net.request({
|
|
126
|
-
cache: "no-cache",
|
|
127
|
-
headers,
|
|
128
|
-
method: "GET",
|
|
129
|
-
redirect: "follow",
|
|
130
|
-
url
|
|
131
|
-
});
|
|
132
|
-
request.on("response", (resp) => {
|
|
133
|
-
resp.on("aborted", () => reject(new Error("Aborted")));
|
|
134
|
-
resp.on("error", reject);
|
|
135
|
-
onResponse(request, resp, resolve, reject);
|
|
136
|
-
});
|
|
137
|
-
request.on("error", reject);
|
|
138
|
-
request.end();
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
function trimData(data) {
|
|
142
|
-
return data.trim().slice(0, 5e3).replace(/\s+/g, " ");
|
|
143
|
-
}
|
|
144
|
-
var resolveJson = (data, resolve, reject) => {
|
|
145
|
-
try {
|
|
146
|
-
resolve(JSON.parse(data));
|
|
147
|
-
} catch {
|
|
148
|
-
reject(new Error(`Invalid json, "${trimData(data)}"`));
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
async function defaultDownloadText(url, headers, signal, resolveData) {
|
|
152
|
-
return await downloadUtil(
|
|
153
|
-
url,
|
|
154
|
-
headers,
|
|
155
|
-
(request, resp, resolve, reject) => {
|
|
156
|
-
let data = "";
|
|
157
|
-
resp.on("data", (chunk) => data += chunk);
|
|
158
|
-
resp.on("end", () => resolveData(data, resolve, reject));
|
|
159
|
-
signal.addEventListener("abort", () => {
|
|
160
|
-
request.abort();
|
|
161
|
-
data = null;
|
|
162
|
-
}, { once: true });
|
|
163
|
-
}
|
|
164
|
-
);
|
|
165
|
-
}
|
|
166
|
-
async function defaultDownloadUpdateJSON(url, headers, signal) {
|
|
167
|
-
return await defaultDownloadText(
|
|
168
|
-
url,
|
|
169
|
-
headers,
|
|
170
|
-
signal,
|
|
171
|
-
(data, resolve, reject) => {
|
|
172
|
-
try {
|
|
173
|
-
const json = JSON.parse(data);
|
|
174
|
-
if (isUpdateJSON(json)) {
|
|
175
|
-
resolve(json);
|
|
176
|
-
} else {
|
|
177
|
-
throw Error;
|
|
178
|
-
}
|
|
179
|
-
} catch {
|
|
180
|
-
reject(new Error(`Invalid update json, "${trimData(data)}"`));
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
);
|
|
184
|
-
}
|
|
185
|
-
async function defaultDownloadAsar(url, headers, signal, onDownloading) {
|
|
186
|
-
let transferred = 0;
|
|
187
|
-
let time = Date.now();
|
|
188
|
-
return await downloadUtil(
|
|
189
|
-
url,
|
|
190
|
-
headers,
|
|
191
|
-
(request, resp, resolve) => {
|
|
192
|
-
const total = +getHeader(resp.headers, "content-length") || -1;
|
|
193
|
-
let data = [];
|
|
194
|
-
resp.on("data", (chunk) => {
|
|
195
|
-
const delta = chunk.length;
|
|
196
|
-
transferred += delta;
|
|
197
|
-
const current = Date.now();
|
|
198
|
-
onDownloading?.({
|
|
199
|
-
bps: delta / (current - time),
|
|
200
|
-
delta,
|
|
201
|
-
percent: total > 0 ? +(transferred / total).toFixed(2) * 100 : -1,
|
|
202
|
-
total,
|
|
203
|
-
transferred
|
|
204
|
-
});
|
|
205
|
-
time = current;
|
|
206
|
-
data.push(chunk);
|
|
207
|
-
});
|
|
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 });
|
|
214
|
-
}
|
|
215
|
-
);
|
|
216
|
-
}
|
|
217
|
-
var isDev = __EIU_IS_DEV__;
|
|
218
|
-
var isWin = process.platform === "win32";
|
|
219
|
-
var isMac = process.platform === "darwin";
|
|
220
|
-
var isLinux = process.platform === "linux";
|
|
221
|
-
function getPathFromAppNameAsar(...paths) {
|
|
222
|
-
return isDev ? "DEV.asar" : path__default.default.join(path__default.default.dirname(electron2__default.default.app.getAppPath()), `${electron2__default.default.app.name}.asar`, ...paths);
|
|
223
|
-
}
|
|
224
|
-
function getAppVersion() {
|
|
225
|
-
return isDev ? getEntryVersion() : fs__default.default.readFileSync(getPathFromAppNameAsar("version"), "utf-8");
|
|
226
|
-
}
|
|
227
|
-
function getEntryVersion() {
|
|
228
|
-
return electron2__default.default.app.getVersion();
|
|
229
|
-
}
|
|
230
|
-
function requireNative(moduleName) {
|
|
231
|
-
const m = getPathFromEntryAsar(moduleName);
|
|
232
|
-
if (__EIU_IS_ESM__) {
|
|
233
|
-
throw new Error(`Cannot require "${m}", \`requireNative\` only support CommonJS, use \`importNative\` instead`);
|
|
234
|
-
}
|
|
235
|
-
return __require(m);
|
|
236
|
-
}
|
|
237
|
-
async function importNative(moduleName) {
|
|
238
|
-
const m = getPathFromEntryAsar(moduleName);
|
|
239
|
-
if (!__EIU_IS_ESM__) {
|
|
240
|
-
throw new Error(`Cannot import "${m}", \`importNative\` only support ESModule, use \`requireNative\` instead`);
|
|
241
|
-
}
|
|
242
|
-
return await import(`file://${m}.js`);
|
|
243
|
-
}
|
|
244
|
-
function restartApp() {
|
|
245
|
-
electron2__default.default.app.relaunch();
|
|
246
|
-
electron2__default.default.app.quit();
|
|
247
|
-
}
|
|
248
|
-
function setAppUserModelId(id) {
|
|
249
|
-
if (isWin) {
|
|
250
|
-
electron2__default.default.app.setAppUserModelId(id ?? `org.${electron2__default.default.app.name}`);
|
|
251
|
-
}
|
|
252
|
-
}
|
|
253
|
-
function disableHWAccForWin7() {
|
|
254
|
-
if (!__EIU_IS_ESM__ && __require("os").release().startsWith("6.1")) {
|
|
255
|
-
electron2__default.default.app.disableHardwareAcceleration();
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
function singleInstance(window) {
|
|
259
|
-
electron2__default.default.app.on("second-instance", () => {
|
|
260
|
-
if (window) {
|
|
261
|
-
window.show();
|
|
262
|
-
if (window.isMinimized()) {
|
|
263
|
-
window.restore();
|
|
264
|
-
}
|
|
265
|
-
window.focus();
|
|
266
|
-
}
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
function setPortableDataPath(dirName = "data", create = true) {
|
|
270
|
-
if (electron2__default.default.app.isReady()) {
|
|
271
|
-
throw new Error("Portable app data dir must be setup before app is ready");
|
|
272
|
-
}
|
|
273
|
-
const portableDir = path__default.default.join(path__default.default.dirname(electron2__default.default.app.getPath("exe")), dirName);
|
|
274
|
-
if (create) {
|
|
275
|
-
if (!fs__default.default.existsSync(portableDir)) {
|
|
276
|
-
fs__default.default.mkdirSync(portableDir);
|
|
277
|
-
} else if (!fs__default.default.statSync(portableDir).isDirectory()) {
|
|
278
|
-
fs__default.default.rmSync(portableDir);
|
|
279
|
-
fs__default.default.mkdirSync(portableDir);
|
|
280
|
-
}
|
|
281
|
-
} else if (!fs__default.default.existsSync(portableDir)) {
|
|
282
|
-
throw new Error("Portable app data dir does not exists");
|
|
283
|
-
}
|
|
284
|
-
electron2__default.default.app.setPath("userData", portableDir);
|
|
285
|
-
}
|
|
286
|
-
var setPortableAppDataPath = setPortableDataPath;
|
|
287
|
-
function loadPage(win, htmlFilePath = "index.html") {
|
|
288
|
-
if (isDev) {
|
|
289
|
-
win.loadURL(process.env.VITE_DEV_SERVER_URL + htmlFilePath);
|
|
290
|
-
} else {
|
|
291
|
-
win.loadFile(getPathFromAppNameAsar("renderer", htmlFilePath));
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
function beautifyDevTools(win, options) {
|
|
295
|
-
const { mono, sans, scrollbar = true } = options;
|
|
296
|
-
win.webContents.on("devtools-opened", async () => {
|
|
297
|
-
let css = `:root{--sans:${sans};--mono:${mono}}:root,body{--source-code-font-family:var(--mono)!important;--source-code-font-size:12px!important;--monospace-font-family:var(--mono)!important;--monospace-font-size:12px!important;--default-font-family:var(--sans), sans-serif!important;--default-font-size:12px!important}button,input,select,.undisplayable-text,.expandable-inline-button{font-family:var(--sans)!important}`;
|
|
298
|
-
if (scrollbar) {
|
|
299
|
-
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}}";
|
|
300
|
-
}
|
|
301
|
-
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}\`)`;
|
|
302
|
-
await win?.webContents.devToolsWebContents?.executeJavaScript(js);
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
function getPathFromMain(...paths) {
|
|
306
|
-
return isDev ? path__default.default.join(electron2__default.default.app.getAppPath(), __EIU_ELECTRON_DIST_PATH__, "main", ...paths) : getPathFromAppNameAsar("main", ...paths);
|
|
307
|
-
}
|
|
308
|
-
function getPathFromPreload(...paths) {
|
|
309
|
-
return isDev ? path__default.default.join(electron2__default.default.app.getAppPath(), __EIU_ELECTRON_DIST_PATH__, "preload", ...paths) : getPathFromAppNameAsar("preload", ...paths);
|
|
310
|
-
}
|
|
311
|
-
function getPathFromPublic(...paths) {
|
|
312
|
-
return isDev ? path__default.default.join(electron2__default.default.app.getAppPath(), "public", ...paths) : getPathFromAppNameAsar("renderer", ...paths);
|
|
313
|
-
}
|
|
314
|
-
function getPathFromEntryAsar(...paths) {
|
|
315
|
-
return path__default.default.join(electron2__default.default.app.getAppPath(), __EIU_ENTRY_DIST_PATH__, ...paths);
|
|
316
|
-
}
|
|
317
|
-
function handleUnexpectedErrors(callback) {
|
|
318
|
-
process.on("uncaughtException", callback);
|
|
319
|
-
process.on("unhandledRejection", callback);
|
|
320
|
-
}
|
|
321
|
-
function reloadOnPreloadScriptChanged() {
|
|
322
|
-
if (isDev) {
|
|
323
|
-
process.on("message", (msg) => {
|
|
324
|
-
if (msg === "electron-vite&type=hot-reload") {
|
|
325
|
-
for (const window of electron2__default.default.BrowserWindow.getAllWindows()) {
|
|
326
|
-
window.reload();
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
});
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
async function defaultZipFile(buffer) {
|
|
333
|
-
return new Promise((resolve, reject) => {
|
|
334
|
-
zlib__default.default.brotliCompress(buffer, (err, buffer2) => err ? reject(err) : resolve(buffer2));
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
async function defaultUnzipFile(buffer) {
|
|
338
|
-
return new Promise((resolve, reject) => {
|
|
339
|
-
zlib__default.default.brotliDecompress(buffer, (err, buffer2) => err ? reject(err) : resolve(buffer2));
|
|
340
|
-
});
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
exports.aesDecrypt = aesDecrypt;
|
|
344
|
-
exports.aesEncrypt = aesEncrypt;
|
|
345
|
-
exports.beautifyDevTools = beautifyDevTools;
|
|
346
|
-
exports.defaultDownloadAsar = defaultDownloadAsar;
|
|
347
|
-
exports.defaultDownloadText = defaultDownloadText;
|
|
348
|
-
exports.defaultDownloadUpdateJSON = defaultDownloadUpdateJSON;
|
|
349
|
-
exports.defaultIsLowerVersion = defaultIsLowerVersion;
|
|
350
|
-
exports.defaultSignature = defaultSignature;
|
|
351
|
-
exports.defaultUnzipFile = defaultUnzipFile;
|
|
352
|
-
exports.defaultVerifySignature = defaultVerifySignature;
|
|
353
|
-
exports.defaultVersionJsonGenerator = defaultVersionJsonGenerator;
|
|
354
|
-
exports.defaultZipFile = defaultZipFile;
|
|
355
|
-
exports.disableHWAccForWin7 = disableHWAccForWin7;
|
|
356
|
-
exports.downloadUtil = downloadUtil;
|
|
357
|
-
exports.getAppVersion = getAppVersion;
|
|
358
|
-
exports.getEntryVersion = getEntryVersion;
|
|
359
|
-
exports.getHeader = getHeader;
|
|
360
|
-
exports.getPathFromAppNameAsar = getPathFromAppNameAsar;
|
|
361
|
-
exports.getPathFromEntryAsar = getPathFromEntryAsar;
|
|
362
|
-
exports.getPathFromMain = getPathFromMain;
|
|
363
|
-
exports.getPathFromPreload = getPathFromPreload;
|
|
364
|
-
exports.getPathFromPublic = getPathFromPublic;
|
|
365
|
-
exports.handleUnexpectedErrors = handleUnexpectedErrors;
|
|
366
|
-
exports.hashBuffer = hashBuffer;
|
|
367
|
-
exports.importNative = importNative;
|
|
368
|
-
exports.isDev = isDev;
|
|
369
|
-
exports.isLinux = isLinux;
|
|
370
|
-
exports.isMac = isMac;
|
|
371
|
-
exports.isUpdateJSON = isUpdateJSON;
|
|
372
|
-
exports.isWin = isWin;
|
|
373
|
-
exports.loadPage = loadPage;
|
|
374
|
-
exports.parseVersion = parseVersion;
|
|
375
|
-
exports.reloadOnPreloadScriptChanged = reloadOnPreloadScriptChanged;
|
|
376
|
-
exports.requireNative = requireNative;
|
|
377
|
-
exports.resolveJson = resolveJson;
|
|
378
|
-
exports.restartApp = restartApp;
|
|
379
|
-
exports.setAppUserModelId = setAppUserModelId;
|
|
380
|
-
exports.setPortableAppDataPath = setPortableAppDataPath;
|
|
381
|
-
exports.setPortableDataPath = setPortableDataPath;
|
|
382
|
-
exports.singleInstance = singleInstance;
|
|
5
|
+
exports.aesDecrypt = require_zip.aesDecrypt;
|
|
6
|
+
exports.aesEncrypt = require_zip.aesEncrypt;
|
|
7
|
+
exports.beautifyDevTools = require_electron.beautifyDevTools;
|
|
8
|
+
exports.defaultDownloadAsar = require_zip.defaultDownloadAsar;
|
|
9
|
+
exports.defaultDownloadText = require_zip.defaultDownloadText;
|
|
10
|
+
exports.defaultDownloadUpdateJSON = require_zip.defaultDownloadUpdateJSON;
|
|
11
|
+
exports.defaultIsLowerVersion = require_version.defaultIsLowerVersion;
|
|
12
|
+
exports.defaultSignature = require_zip.defaultSignature;
|
|
13
|
+
exports.defaultUnzipFile = require_zip.defaultUnzipFile;
|
|
14
|
+
exports.defaultVerifySignature = require_zip.defaultVerifySignature;
|
|
15
|
+
exports.defaultVersionJsonGenerator = require_version.defaultVersionJsonGenerator;
|
|
16
|
+
exports.defaultZipFile = require_zip.defaultZipFile;
|
|
17
|
+
exports.disableHWAccForWin7 = require_electron.disableHWAccForWin7;
|
|
18
|
+
exports.downloadUtil = require_zip.downloadUtil;
|
|
19
|
+
exports.getAppVersion = require_electron.getAppVersion;
|
|
20
|
+
exports.getEntryVersion = require_electron.getEntryVersion;
|
|
21
|
+
exports.getHeader = require_zip.getHeader;
|
|
22
|
+
exports.getPathFromAppNameAsar = require_electron.getPathFromAppNameAsar;
|
|
23
|
+
exports.getPathFromEntryAsar = require_electron.getPathFromEntryAsar;
|
|
24
|
+
exports.getPathFromMain = require_electron.getPathFromMain;
|
|
25
|
+
exports.getPathFromPreload = require_electron.getPathFromPreload;
|
|
26
|
+
exports.getPathFromPublic = require_electron.getPathFromPublic;
|
|
27
|
+
exports.handleUnexpectedErrors = require_electron.handleUnexpectedErrors;
|
|
28
|
+
exports.hashBuffer = require_zip.hashBuffer;
|
|
29
|
+
exports.importNative = require_electron.importNative;
|
|
30
|
+
exports.isDev = require_electron.isDev;
|
|
31
|
+
exports.isLinux = require_electron.isLinux;
|
|
32
|
+
exports.isMac = require_electron.isMac;
|
|
33
|
+
exports.isUpdateJSON = require_version.isUpdateJSON;
|
|
34
|
+
exports.isWin = require_electron.isWin;
|
|
35
|
+
exports.loadPage = require_electron.loadPage;
|
|
36
|
+
exports.parseVersion = require_version.parseVersion;
|
|
37
|
+
exports.reloadOnPreloadScriptChanged = require_electron.reloadOnPreloadScriptChanged;
|
|
38
|
+
exports.requireNative = require_electron.requireNative;
|
|
39
|
+
exports.resolveJson = require_zip.resolveJson;
|
|
40
|
+
exports.restartApp = require_electron.restartApp;
|
|
41
|
+
exports.setAppUserModelId = require_electron.setAppUserModelId;
|
|
42
|
+
exports.setPortableAppDataPath = require_electron.setPortableAppDataPath;
|
|
43
|
+
exports.setPortableDataPath = require_electron.setPortableDataPath;
|
|
44
|
+
exports.singleInstance = require_electron.singleInstance;
|
package/dist/utils.d.cts
CHANGED
|
@@ -1,129 +1,164 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import '@subframe7536/type-utils';
|
|
5
|
-
import 'node:url';
|
|
1
|
+
import { c as Version, d as isUpdateJSON, f as parseVersion, l as defaultIsLowerVersion, o as UpdateInfo, s as UpdateJSON, u as defaultVersionJsonGenerator } from "./types-BM9Jfu7q.cjs";
|
|
2
|
+
import { a as getHeader, i as downloadUtil, n as defaultDownloadText, o as resolveJson, r as defaultDownloadUpdateJSON, t as defaultDownloadAsar } from "./download-DO7iuxEJ.cjs";
|
|
3
|
+
import { BrowserWindow } from "electron";
|
|
6
4
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
//#region src/utils/crypto.d.ts
|
|
6
|
+
declare function hashBuffer(data: string | Buffer, length: number): Buffer;
|
|
7
|
+
declare function aesEncrypt(plainText: string, key: Buffer, iv: Buffer): string;
|
|
8
|
+
/**
|
|
9
|
+
* Default function to generate asar signature, returns generated signature
|
|
10
|
+
* @param buffer file buffer
|
|
11
|
+
* @param privateKey primary key
|
|
12
|
+
* @param cert certificate
|
|
13
|
+
* @param version target version
|
|
14
|
+
*/
|
|
15
|
+
declare function defaultSignature(buffer: Buffer, privateKey: string, cert: string, version: string): string;
|
|
16
|
+
declare function aesDecrypt(encryptedText: string, key: Buffer, iv: Buffer): string;
|
|
17
|
+
/**
|
|
18
|
+
* Default function to verify asar signature,
|
|
19
|
+
* if signature is valid, returns the version, otherwise returns `undefined`
|
|
20
|
+
* @param buffer file buffer
|
|
21
|
+
* @param version target version
|
|
22
|
+
* @param signature signature
|
|
23
|
+
* @param cert certificate
|
|
24
|
+
*/
|
|
25
|
+
declare function defaultVerifySignature(buffer: Buffer, version: string, signature: string, cert: string): boolean;
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/utils/electron.d.ts
|
|
28
|
+
/**
|
|
29
|
+
* Compile time dev check
|
|
30
|
+
*/
|
|
10
31
|
declare const isDev: boolean;
|
|
11
32
|
declare const isWin: boolean;
|
|
12
33
|
declare const isMac: boolean;
|
|
13
34
|
declare const isLinux: boolean;
|
|
14
35
|
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
36
|
+
* Get joined path of `${electron.app.name}.asar` (not `app.asar`)
|
|
37
|
+
*
|
|
38
|
+
* If is in dev, **always** return `'DEV.asar'`
|
|
39
|
+
*/
|
|
19
40
|
declare function getPathFromAppNameAsar(...paths: string[]): string;
|
|
20
41
|
/**
|
|
21
|
-
|
|
22
|
-
|
|
42
|
+
* Get app version, if is in dev, return `getEntryVersion()`
|
|
43
|
+
*/
|
|
23
44
|
declare function getAppVersion(): string;
|
|
24
45
|
/**
|
|
25
|
-
|
|
26
|
-
|
|
46
|
+
* Get entry version
|
|
47
|
+
*/
|
|
27
48
|
declare function getEntryVersion(): string;
|
|
28
49
|
/**
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
50
|
+
* Use `require` to load native module from entry asar
|
|
51
|
+
* @param moduleName file name in entry
|
|
52
|
+
* @example
|
|
53
|
+
* requireNative<typeof import('../native/db')>('db')
|
|
54
|
+
*/
|
|
34
55
|
declare function requireNative<T = any>(moduleName: string): T;
|
|
35
56
|
/**
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
57
|
+
* Use `import` to load native module from entry asar
|
|
58
|
+
* @param moduleName file name in entry
|
|
59
|
+
* @example
|
|
60
|
+
* await importNative<typeof import('../native/db')>('db')
|
|
61
|
+
*/
|
|
41
62
|
declare function importNative<T = any>(moduleName: string): Promise<T>;
|
|
42
63
|
/**
|
|
43
|
-
|
|
44
|
-
|
|
64
|
+
* Restarts the Electron app.
|
|
65
|
+
*/
|
|
45
66
|
declare function restartApp(): void;
|
|
46
67
|
/**
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
68
|
+
* Fix app use model id, only for Windows
|
|
69
|
+
* @param id app id, default is `org.${electron.app.name}`
|
|
70
|
+
*/
|
|
50
71
|
declare function setAppUserModelId(id?: string): void;
|
|
51
72
|
/**
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
73
|
+
* Disable hardware acceleration for Windows 7
|
|
74
|
+
*
|
|
75
|
+
* Only support CommonJS
|
|
76
|
+
*/
|
|
56
77
|
declare function disableHWAccForWin7(): void;
|
|
57
78
|
/**
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
79
|
+
* Keep single electron instance and auto restore window on `second-instance` event
|
|
80
|
+
* @param window brwoser window to show
|
|
81
|
+
*/
|
|
61
82
|
declare function singleInstance(window?: BrowserWindow): void;
|
|
62
83
|
/**
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
84
|
+
* Set `userData` dir to the dir of .exe file
|
|
85
|
+
*
|
|
86
|
+
* Useful for portable Windows app
|
|
87
|
+
* @param dirName dir name, default to `data`
|
|
88
|
+
* @param create whether to create dir, default to `true`
|
|
89
|
+
*/
|
|
69
90
|
declare function setPortableDataPath(dirName?: string, create?: boolean): void;
|
|
70
91
|
/**
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
*/
|
|
92
|
+
* @deprecated Use {@link setPortableDataPath} instead
|
|
93
|
+
*/
|
|
74
94
|
declare const setPortableAppDataPath: typeof setPortableDataPath;
|
|
75
95
|
/**
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
96
|
+
* Load `process.env.VITE_DEV_SERVER_URL` when dev, else load html file
|
|
97
|
+
* @param win window
|
|
98
|
+
* @param htmlFilePath html file path, default is `index.html`
|
|
99
|
+
*/
|
|
80
100
|
declare function loadPage(win: BrowserWindow, htmlFilePath?: string): void;
|
|
81
101
|
interface BeautifyDevToolsOptions {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
102
|
+
/**
|
|
103
|
+
* Sans-serif font family
|
|
104
|
+
*/
|
|
105
|
+
sans: string;
|
|
106
|
+
/**
|
|
107
|
+
* Monospace font family
|
|
108
|
+
*/
|
|
109
|
+
mono: string;
|
|
110
|
+
/**
|
|
111
|
+
* Whether to round scrollbar
|
|
112
|
+
*/
|
|
113
|
+
scrollbar?: boolean;
|
|
94
114
|
}
|
|
95
115
|
/**
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
116
|
+
* Beautify devtools' font and scrollbar
|
|
117
|
+
* @param win target window
|
|
118
|
+
* @param options sans font family, mono font family and scrollbar
|
|
119
|
+
* @see https://github.com/electron/electron/issues/42055
|
|
120
|
+
*/
|
|
101
121
|
declare function beautifyDevTools(win: BrowserWindow, options: BeautifyDevToolsOptions): void;
|
|
102
122
|
/**
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
123
|
+
* Get joined path from main dir
|
|
124
|
+
* @param paths rest paths
|
|
125
|
+
*/
|
|
106
126
|
declare function getPathFromMain(...paths: string[]): string;
|
|
107
127
|
/**
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
128
|
+
* Get joined path from preload dir
|
|
129
|
+
* @param paths rest paths
|
|
130
|
+
*/
|
|
111
131
|
declare function getPathFromPreload(...paths: string[]): string;
|
|
112
132
|
/**
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
133
|
+
* Get joined path from publich dir
|
|
134
|
+
* @param paths rest paths
|
|
135
|
+
*/
|
|
116
136
|
declare function getPathFromPublic(...paths: string[]): string;
|
|
117
137
|
/**
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
138
|
+
* Get joined path from entry asar
|
|
139
|
+
* @param paths rest paths
|
|
140
|
+
*/
|
|
121
141
|
declare function getPathFromEntryAsar(...paths: string[]): string;
|
|
122
142
|
/**
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
143
|
+
* Handle all unhandled error
|
|
144
|
+
* @param callback callback function
|
|
145
|
+
*/
|
|
126
146
|
declare function handleUnexpectedErrors(callback: (err: unknown) => void): void;
|
|
147
|
+
/**
|
|
148
|
+
* @deprecated No longer needed. It is embeded in `startupWithUpdater()
|
|
149
|
+
*/
|
|
127
150
|
declare function reloadOnPreloadScriptChanged(): void;
|
|
128
|
-
|
|
129
|
-
|
|
151
|
+
//#endregion
|
|
152
|
+
//#region src/utils/zip.d.ts
|
|
153
|
+
/**
|
|
154
|
+
* Default function to compress file using brotli
|
|
155
|
+
* @param buffer uncompressed file buffer
|
|
156
|
+
*/
|
|
157
|
+
declare function defaultZipFile(buffer: Buffer): Promise<Buffer>;
|
|
158
|
+
/**
|
|
159
|
+
* Default function to decompress file using brotli
|
|
160
|
+
* @param buffer compressed file buffer
|
|
161
|
+
*/
|
|
162
|
+
declare function defaultUnzipFile(buffer: Buffer): Promise<Buffer>;
|
|
163
|
+
//#endregion
|
|
164
|
+
export { UpdateInfo, UpdateJSON, Version, aesDecrypt, aesEncrypt, beautifyDevTools, defaultDownloadAsar, defaultDownloadText, defaultDownloadUpdateJSON, defaultIsLowerVersion, defaultSignature, defaultUnzipFile, defaultVerifySignature, defaultVersionJsonGenerator, defaultZipFile, disableHWAccForWin7, downloadUtil, getAppVersion, getEntryVersion, getHeader, getPathFromAppNameAsar, getPathFromEntryAsar, getPathFromMain, getPathFromPreload, getPathFromPublic, handleUnexpectedErrors, hashBuffer, importNative, isDev, isLinux, isMac, isUpdateJSON, isWin, loadPage, parseVersion, reloadOnPreloadScriptChanged, requireNative, resolveJson, restartApp, setAppUserModelId, setPortableAppDataPath, setPortableDataPath, singleInstance };
|