electron-incremental-update 3.0.0-beta.5 → 3.0.0-beta.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.
- package/README.md +552 -344
- package/dist/{zip-Dwm7s1C9.mjs → download-BGaAyi1Z.mjs} +16 -69
- package/dist/download-BYnkme_X.cjs +167 -0
- package/dist/{download-BN4uMS4_.d.mts → download-BjWmHHAu.d.cts} +1 -1
- package/dist/{download-DO7iuxEJ.d.cts → download-DVWJfV3S.d.mts} +1 -1
- package/dist/{electron-BJCk7uxG.mjs → electron-BInvFJ-W.mjs} +38 -13
- package/dist/electron-D_8AbLQ5.cjs +346 -0
- package/dist/index.cjs +64 -32
- package/dist/index.d.cts +10 -13
- package/dist/index.d.mts +10 -13
- package/dist/index.mjs +60 -29
- package/dist/local-Daf8naRn.cjs +118 -0
- package/dist/local-s1cw_vwb.mjs +105 -0
- package/dist/provider.cjs +21 -40
- package/dist/provider.d.cts +53 -9
- package/dist/provider.d.mts +53 -9
- package/dist/provider.mjs +9 -30
- package/dist/{types-BM9Jfu7q.d.cts → types-BOqQ_r5Q.d.cts} +5 -5
- package/dist/{types-DASqEPXE.d.mts → types-BOqQ_r5Q.d.mts} +5 -5
- package/dist/utils.cjs +15 -15
- package/dist/utils.d.cts +2 -2
- package/dist/utils.d.mts +2 -2
- package/dist/utils.mjs +4 -5
- package/dist/vite.d.mts +90 -101
- package/dist/vite.mjs +647 -725
- package/dist/zip-D1dbBzw4.cjs +254 -0
- package/dist/zip-DUK3opmV.mjs +159 -0
- package/package.json +29 -34
- package/dist/electron-C-qmVhAt.cjs +0 -321
- package/dist/version--eVB2A7n.mjs +0 -72
- package/dist/version-aPrLuz_-.cjs +0 -129
- package/dist/zip-BCC7FAQ_.cjs +0 -264
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
+
key = keys[i];
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: ((k) => from[k]).bind(null, key),
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
+
value: mod,
|
|
20
|
+
enumerable: true
|
|
21
|
+
}) : target, mod));
|
|
22
|
+
//#endregion
|
|
23
|
+
let node_crypto = require("node:crypto");
|
|
24
|
+
node_crypto = __toESM(node_crypto, 1);
|
|
25
|
+
let node_zlib = require("node:zlib");
|
|
26
|
+
node_zlib = __toESM(node_zlib, 1);
|
|
27
|
+
//#region src/utils/version.ts
|
|
28
|
+
const REG_VERSION = /^(\d+)\.(\d+)\.(\d+)(?:-([a-z0-9]+)(?:\.(\d+))?)?$/i;
|
|
29
|
+
/**
|
|
30
|
+
* Parse version string to {@link Version}, like `0.2.0-beta.1`
|
|
31
|
+
* @param version version string
|
|
32
|
+
*/
|
|
33
|
+
function parseVersion(version) {
|
|
34
|
+
const match = REG_VERSION.exec(version);
|
|
35
|
+
if (!match) throw new TypeError(`invalid version: ${version}`);
|
|
36
|
+
const [major, minor, patch] = match.slice(1, 4).map(Number);
|
|
37
|
+
const ret = {
|
|
38
|
+
major,
|
|
39
|
+
minor,
|
|
40
|
+
patch,
|
|
41
|
+
stage: "",
|
|
42
|
+
stageVersion: -1
|
|
43
|
+
};
|
|
44
|
+
if (match[4]) {
|
|
45
|
+
ret.stage = match[4];
|
|
46
|
+
ret.stageVersion = match[5] === void 0 ? -1 : Number(match[5]);
|
|
47
|
+
}
|
|
48
|
+
if (Number.isNaN(major) || Number.isNaN(minor) || Number.isNaN(patch) || Number.isNaN(ret.stageVersion)) throw new TypeError(`Invalid version: ${version}`);
|
|
49
|
+
return ret;
|
|
50
|
+
}
|
|
51
|
+
function parsePrerelease(version) {
|
|
52
|
+
if (!version.stage) return [];
|
|
53
|
+
return [version.stage, version.stageVersion === -1 ? void 0 : String(version.stageVersion)].filter((value) => value !== void 0).flatMap((value) => value.split(".")).map((raw) => {
|
|
54
|
+
return {
|
|
55
|
+
raw,
|
|
56
|
+
numeric: /^\d+$/.test(raw) ? Number(raw) : void 0
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function comparePrerelease(oldV, newV) {
|
|
61
|
+
const oldParts = parsePrerelease(oldV);
|
|
62
|
+
const newParts = parsePrerelease(newV);
|
|
63
|
+
if (oldParts.length === 0 || newParts.length === 0) return oldParts.length > 0 && newParts.length === 0;
|
|
64
|
+
const length = Math.max(oldParts.length, newParts.length);
|
|
65
|
+
for (let i = 0; i < length; i++) {
|
|
66
|
+
const oldPart = oldParts[i];
|
|
67
|
+
const newPart = newParts[i];
|
|
68
|
+
if (!oldPart) return true;
|
|
69
|
+
if (!newPart) return false;
|
|
70
|
+
if (oldPart.raw === newPart.raw) continue;
|
|
71
|
+
if (oldPart.numeric !== void 0 && newPart.numeric !== void 0) return oldPart.numeric < newPart.numeric;
|
|
72
|
+
if (oldPart.numeric !== void 0) return true;
|
|
73
|
+
if (newPart.numeric !== void 0) return false;
|
|
74
|
+
return oldPart.raw < newPart.raw;
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Default function to check the old version is less than new version
|
|
80
|
+
* @param oldVer old version string
|
|
81
|
+
* @param newVer new version string
|
|
82
|
+
*/
|
|
83
|
+
function defaultIsLowerVersion(oldVer, newVer) {
|
|
84
|
+
const oldV = parseVersion(oldVer);
|
|
85
|
+
const newV = parseVersion(newVer);
|
|
86
|
+
for (const key of [
|
|
87
|
+
"major",
|
|
88
|
+
"minor",
|
|
89
|
+
"patch"
|
|
90
|
+
]) if (oldV[key] !== newV[key]) return oldV[key] < newV[key];
|
|
91
|
+
return comparePrerelease(oldV, newV);
|
|
92
|
+
}
|
|
93
|
+
const is = (j) => !!(j && j.minimumVersion && j.signature && j.version);
|
|
94
|
+
/**
|
|
95
|
+
* Check is `UpdateJSON`
|
|
96
|
+
* @param json any variable
|
|
97
|
+
*/
|
|
98
|
+
function isUpdateJSON(json) {
|
|
99
|
+
return json && is(json) && is(json.beta);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Default function to generate `UpdateJSON`
|
|
103
|
+
* @param existingJson exising update json
|
|
104
|
+
* @param signature sigature
|
|
105
|
+
* @param version target version
|
|
106
|
+
* @param minimumVersion minimum version
|
|
107
|
+
*/
|
|
108
|
+
function defaultVersionJsonGenerator(existingJson, signature, version, minimumVersion) {
|
|
109
|
+
existingJson.beta = {
|
|
110
|
+
version,
|
|
111
|
+
minimumVersion,
|
|
112
|
+
signature
|
|
113
|
+
};
|
|
114
|
+
if (!parseVersion(version).stage) {
|
|
115
|
+
existingJson.version = version;
|
|
116
|
+
existingJson.minimumVersion = minimumVersion;
|
|
117
|
+
existingJson.signature = signature;
|
|
118
|
+
}
|
|
119
|
+
return existingJson;
|
|
120
|
+
}
|
|
121
|
+
//#endregion
|
|
122
|
+
//#region src/utils/crypto.ts
|
|
123
|
+
function hashBuffer(data, length) {
|
|
124
|
+
const hash = node_crypto.default.createHash("SHA256").update(data).digest("binary");
|
|
125
|
+
return Buffer.from(hash).subarray(0, length);
|
|
126
|
+
}
|
|
127
|
+
function aesEncrypt(plainText, key, iv) {
|
|
128
|
+
const cipher = node_crypto.default.createCipheriv("aes-256-cbc", key, iv);
|
|
129
|
+
return cipher.update(plainText, "utf8", "base64url") + cipher.final("base64url");
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Default function to generate asar signature, returns generated signature
|
|
133
|
+
* @param buffer file buffer
|
|
134
|
+
* @param privateKey primary key
|
|
135
|
+
* @param cert certificate
|
|
136
|
+
* @param version target version
|
|
137
|
+
*/
|
|
138
|
+
function defaultSignature(buffer, privateKey, cert, version) {
|
|
139
|
+
return aesEncrypt(`${node_crypto.default.createSign("RSA-SHA256").update(buffer).sign(node_crypto.default.createPrivateKey(privateKey), "base64")}%${version}`, hashBuffer(cert, 32), hashBuffer(buffer, 16));
|
|
140
|
+
}
|
|
141
|
+
function aesDecrypt(encryptedText, key, iv) {
|
|
142
|
+
const decipher = node_crypto.default.createDecipheriv("aes-256-cbc", key, iv);
|
|
143
|
+
return decipher.update(encryptedText, "base64url", "utf8") + decipher.final("utf8");
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Default function to verify asar signature,
|
|
147
|
+
* if signature is valid, returns the version, otherwise returns `undefined`
|
|
148
|
+
* @param buffer file buffer
|
|
149
|
+
* @param version target version
|
|
150
|
+
* @param signature signature
|
|
151
|
+
* @param cert certificate
|
|
152
|
+
*/
|
|
153
|
+
function defaultVerifySignature(buffer, version, signature, cert) {
|
|
154
|
+
try {
|
|
155
|
+
const [sig, ver] = aesDecrypt(signature, hashBuffer(cert, 32), hashBuffer(buffer, 16)).split("%");
|
|
156
|
+
if (ver !== version) return false;
|
|
157
|
+
return node_crypto.default.createVerify("RSA-SHA256").update(buffer).verify(cert, sig, "base64");
|
|
158
|
+
} catch {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
//#endregion
|
|
163
|
+
//#region src/utils/zip.ts
|
|
164
|
+
/**
|
|
165
|
+
* Default function to compress file using brotli
|
|
166
|
+
* @param buffer uncompressed file buffer
|
|
167
|
+
*/
|
|
168
|
+
async function defaultZipFile(buffer) {
|
|
169
|
+
return new Promise((resolve, reject) => {
|
|
170
|
+
node_zlib.default.brotliCompress(buffer, (err, buffer) => err ? reject(err) : resolve(buffer));
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Default function to decompress file using brotli
|
|
175
|
+
* @param buffer compressed file buffer
|
|
176
|
+
*/
|
|
177
|
+
async function defaultUnzipFile(buffer) {
|
|
178
|
+
return new Promise((resolve, reject) => {
|
|
179
|
+
node_zlib.default.brotliDecompress(buffer, (err, buffer) => err ? reject(err) : resolve(buffer));
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
//#endregion
|
|
183
|
+
Object.defineProperty(exports, "__toESM", {
|
|
184
|
+
enumerable: true,
|
|
185
|
+
get: function() {
|
|
186
|
+
return __toESM;
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
Object.defineProperty(exports, "aesDecrypt", {
|
|
190
|
+
enumerable: true,
|
|
191
|
+
get: function() {
|
|
192
|
+
return aesDecrypt;
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
Object.defineProperty(exports, "aesEncrypt", {
|
|
196
|
+
enumerable: true,
|
|
197
|
+
get: function() {
|
|
198
|
+
return aesEncrypt;
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
Object.defineProperty(exports, "defaultIsLowerVersion", {
|
|
202
|
+
enumerable: true,
|
|
203
|
+
get: function() {
|
|
204
|
+
return defaultIsLowerVersion;
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
Object.defineProperty(exports, "defaultSignature", {
|
|
208
|
+
enumerable: true,
|
|
209
|
+
get: function() {
|
|
210
|
+
return defaultSignature;
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
Object.defineProperty(exports, "defaultUnzipFile", {
|
|
214
|
+
enumerable: true,
|
|
215
|
+
get: function() {
|
|
216
|
+
return defaultUnzipFile;
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
Object.defineProperty(exports, "defaultVerifySignature", {
|
|
220
|
+
enumerable: true,
|
|
221
|
+
get: function() {
|
|
222
|
+
return defaultVerifySignature;
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
Object.defineProperty(exports, "defaultVersionJsonGenerator", {
|
|
226
|
+
enumerable: true,
|
|
227
|
+
get: function() {
|
|
228
|
+
return defaultVersionJsonGenerator;
|
|
229
|
+
}
|
|
230
|
+
});
|
|
231
|
+
Object.defineProperty(exports, "defaultZipFile", {
|
|
232
|
+
enumerable: true,
|
|
233
|
+
get: function() {
|
|
234
|
+
return defaultZipFile;
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
Object.defineProperty(exports, "hashBuffer", {
|
|
238
|
+
enumerable: true,
|
|
239
|
+
get: function() {
|
|
240
|
+
return hashBuffer;
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
Object.defineProperty(exports, "isUpdateJSON", {
|
|
244
|
+
enumerable: true,
|
|
245
|
+
get: function() {
|
|
246
|
+
return isUpdateJSON;
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
Object.defineProperty(exports, "parseVersion", {
|
|
250
|
+
enumerable: true,
|
|
251
|
+
get: function() {
|
|
252
|
+
return parseVersion;
|
|
253
|
+
}
|
|
254
|
+
});
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import zlib from "node:zlib";
|
|
3
|
+
//#region src/utils/version.ts
|
|
4
|
+
const REG_VERSION = /^(\d+)\.(\d+)\.(\d+)(?:-([a-z0-9]+)(?:\.(\d+))?)?$/i;
|
|
5
|
+
/**
|
|
6
|
+
* Parse version string to {@link Version}, like `0.2.0-beta.1`
|
|
7
|
+
* @param version version string
|
|
8
|
+
*/
|
|
9
|
+
function parseVersion(version) {
|
|
10
|
+
const match = REG_VERSION.exec(version);
|
|
11
|
+
if (!match) throw new TypeError(`invalid version: ${version}`);
|
|
12
|
+
const [major, minor, patch] = match.slice(1, 4).map(Number);
|
|
13
|
+
const ret = {
|
|
14
|
+
major,
|
|
15
|
+
minor,
|
|
16
|
+
patch,
|
|
17
|
+
stage: "",
|
|
18
|
+
stageVersion: -1
|
|
19
|
+
};
|
|
20
|
+
if (match[4]) {
|
|
21
|
+
ret.stage = match[4];
|
|
22
|
+
ret.stageVersion = match[5] === void 0 ? -1 : Number(match[5]);
|
|
23
|
+
}
|
|
24
|
+
if (Number.isNaN(major) || Number.isNaN(minor) || Number.isNaN(patch) || Number.isNaN(ret.stageVersion)) throw new TypeError(`Invalid version: ${version}`);
|
|
25
|
+
return ret;
|
|
26
|
+
}
|
|
27
|
+
function parsePrerelease(version) {
|
|
28
|
+
if (!version.stage) return [];
|
|
29
|
+
return [version.stage, version.stageVersion === -1 ? void 0 : String(version.stageVersion)].filter((value) => value !== void 0).flatMap((value) => value.split(".")).map((raw) => {
|
|
30
|
+
return {
|
|
31
|
+
raw,
|
|
32
|
+
numeric: /^\d+$/.test(raw) ? Number(raw) : void 0
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
function comparePrerelease(oldV, newV) {
|
|
37
|
+
const oldParts = parsePrerelease(oldV);
|
|
38
|
+
const newParts = parsePrerelease(newV);
|
|
39
|
+
if (oldParts.length === 0 || newParts.length === 0) return oldParts.length > 0 && newParts.length === 0;
|
|
40
|
+
const length = Math.max(oldParts.length, newParts.length);
|
|
41
|
+
for (let i = 0; i < length; i++) {
|
|
42
|
+
const oldPart = oldParts[i];
|
|
43
|
+
const newPart = newParts[i];
|
|
44
|
+
if (!oldPart) return true;
|
|
45
|
+
if (!newPart) return false;
|
|
46
|
+
if (oldPart.raw === newPart.raw) continue;
|
|
47
|
+
if (oldPart.numeric !== void 0 && newPart.numeric !== void 0) return oldPart.numeric < newPart.numeric;
|
|
48
|
+
if (oldPart.numeric !== void 0) return true;
|
|
49
|
+
if (newPart.numeric !== void 0) return false;
|
|
50
|
+
return oldPart.raw < newPart.raw;
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Default function to check the old version is less than new version
|
|
56
|
+
* @param oldVer old version string
|
|
57
|
+
* @param newVer new version string
|
|
58
|
+
*/
|
|
59
|
+
function defaultIsLowerVersion(oldVer, newVer) {
|
|
60
|
+
const oldV = parseVersion(oldVer);
|
|
61
|
+
const newV = parseVersion(newVer);
|
|
62
|
+
for (const key of [
|
|
63
|
+
"major",
|
|
64
|
+
"minor",
|
|
65
|
+
"patch"
|
|
66
|
+
]) if (oldV[key] !== newV[key]) return oldV[key] < newV[key];
|
|
67
|
+
return comparePrerelease(oldV, newV);
|
|
68
|
+
}
|
|
69
|
+
const is = (j) => !!(j && j.minimumVersion && j.signature && j.version);
|
|
70
|
+
/**
|
|
71
|
+
* Check is `UpdateJSON`
|
|
72
|
+
* @param json any variable
|
|
73
|
+
*/
|
|
74
|
+
function isUpdateJSON(json) {
|
|
75
|
+
return json && is(json) && is(json.beta);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Default function to generate `UpdateJSON`
|
|
79
|
+
* @param existingJson exising update json
|
|
80
|
+
* @param signature sigature
|
|
81
|
+
* @param version target version
|
|
82
|
+
* @param minimumVersion minimum version
|
|
83
|
+
*/
|
|
84
|
+
function defaultVersionJsonGenerator(existingJson, signature, version, minimumVersion) {
|
|
85
|
+
existingJson.beta = {
|
|
86
|
+
version,
|
|
87
|
+
minimumVersion,
|
|
88
|
+
signature
|
|
89
|
+
};
|
|
90
|
+
if (!parseVersion(version).stage) {
|
|
91
|
+
existingJson.version = version;
|
|
92
|
+
existingJson.minimumVersion = minimumVersion;
|
|
93
|
+
existingJson.signature = signature;
|
|
94
|
+
}
|
|
95
|
+
return existingJson;
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
//#region src/utils/crypto.ts
|
|
99
|
+
function hashBuffer(data, length) {
|
|
100
|
+
const hash = crypto.createHash("SHA256").update(data).digest("binary");
|
|
101
|
+
return Buffer.from(hash).subarray(0, length);
|
|
102
|
+
}
|
|
103
|
+
function aesEncrypt(plainText, key, iv) {
|
|
104
|
+
const cipher = crypto.createCipheriv("aes-256-cbc", key, iv);
|
|
105
|
+
return cipher.update(plainText, "utf8", "base64url") + cipher.final("base64url");
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Default function to generate asar signature, returns generated signature
|
|
109
|
+
* @param buffer file buffer
|
|
110
|
+
* @param privateKey primary key
|
|
111
|
+
* @param cert certificate
|
|
112
|
+
* @param version target version
|
|
113
|
+
*/
|
|
114
|
+
function defaultSignature(buffer, privateKey, cert, version) {
|
|
115
|
+
return aesEncrypt(`${crypto.createSign("RSA-SHA256").update(buffer).sign(crypto.createPrivateKey(privateKey), "base64")}%${version}`, hashBuffer(cert, 32), hashBuffer(buffer, 16));
|
|
116
|
+
}
|
|
117
|
+
function aesDecrypt(encryptedText, key, iv) {
|
|
118
|
+
const decipher = crypto.createDecipheriv("aes-256-cbc", key, iv);
|
|
119
|
+
return decipher.update(encryptedText, "base64url", "utf8") + decipher.final("utf8");
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Default function to verify asar signature,
|
|
123
|
+
* if signature is valid, returns the version, otherwise returns `undefined`
|
|
124
|
+
* @param buffer file buffer
|
|
125
|
+
* @param version target version
|
|
126
|
+
* @param signature signature
|
|
127
|
+
* @param cert certificate
|
|
128
|
+
*/
|
|
129
|
+
function defaultVerifySignature(buffer, version, signature, cert) {
|
|
130
|
+
try {
|
|
131
|
+
const [sig, ver] = aesDecrypt(signature, hashBuffer(cert, 32), hashBuffer(buffer, 16)).split("%");
|
|
132
|
+
if (ver !== version) return false;
|
|
133
|
+
return crypto.createVerify("RSA-SHA256").update(buffer).verify(cert, sig, "base64");
|
|
134
|
+
} catch {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//#endregion
|
|
139
|
+
//#region src/utils/zip.ts
|
|
140
|
+
/**
|
|
141
|
+
* Default function to compress file using brotli
|
|
142
|
+
* @param buffer uncompressed file buffer
|
|
143
|
+
*/
|
|
144
|
+
async function defaultZipFile(buffer) {
|
|
145
|
+
return new Promise((resolve, reject) => {
|
|
146
|
+
zlib.brotliCompress(buffer, (err, buffer) => err ? reject(err) : resolve(buffer));
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Default function to decompress file using brotli
|
|
151
|
+
* @param buffer compressed file buffer
|
|
152
|
+
*/
|
|
153
|
+
async function defaultUnzipFile(buffer) {
|
|
154
|
+
return new Promise((resolve, reject) => {
|
|
155
|
+
zlib.brotliDecompress(buffer, (err, buffer) => err ? reject(err) : resolve(buffer));
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
//#endregion
|
|
159
|
+
export { defaultSignature as a, defaultIsLowerVersion as c, parseVersion as d, aesEncrypt as i, defaultVersionJsonGenerator as l, defaultZipFile as n, defaultVerifySignature as o, aesDecrypt as r, hashBuffer as s, defaultUnzipFile as t, isUpdateJSON as u };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "electron-incremental-update",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.6",
|
|
4
4
|
"description": "Electron incremental update tools with Vite plugin, support bytecode protection",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bytecode",
|
|
@@ -12,16 +12,10 @@
|
|
|
12
12
|
"author": "subframe7536",
|
|
13
13
|
"repository": {
|
|
14
14
|
"type": "git",
|
|
15
|
-
"url": "git+https://github.com/
|
|
15
|
+
"url": "git+https://github.com/electron-vite/electron-incremental-update.git"
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
|
-
"dist"
|
|
19
|
-
"provider.d.ts",
|
|
20
|
-
"provider.js",
|
|
21
|
-
"utils.d.ts",
|
|
22
|
-
"utils.js",
|
|
23
|
-
"vite.d.ts",
|
|
24
|
-
"vite.js"
|
|
18
|
+
"dist"
|
|
25
19
|
],
|
|
26
20
|
"type": "module",
|
|
27
21
|
"main": "./dist/index.cjs",
|
|
@@ -39,16 +33,16 @@
|
|
|
39
33
|
},
|
|
40
34
|
"exports": {
|
|
41
35
|
".": {
|
|
42
|
-
"
|
|
43
|
-
"
|
|
36
|
+
"import": "./dist/index.mjs",
|
|
37
|
+
"require": "./dist/index.cjs"
|
|
44
38
|
},
|
|
45
39
|
"./provider": {
|
|
46
|
-
"
|
|
47
|
-
"
|
|
40
|
+
"import": "./dist/provider.mjs",
|
|
41
|
+
"require": "./dist/provider.cjs"
|
|
48
42
|
},
|
|
49
43
|
"./utils": {
|
|
50
|
-
"
|
|
51
|
-
"
|
|
44
|
+
"import": "./dist/utils.mjs",
|
|
45
|
+
"require": "./dist/utils.cjs"
|
|
52
46
|
},
|
|
53
47
|
"./vite": "./dist/vite.mjs",
|
|
54
48
|
"./package.json": "./package.json"
|
|
@@ -60,7 +54,8 @@
|
|
|
60
54
|
"scripts": {
|
|
61
55
|
"dev": "tsdown --watch",
|
|
62
56
|
"build": "tsdown",
|
|
63
|
-
"play": "vite",
|
|
57
|
+
"play": "bun run build && vite",
|
|
58
|
+
"play:build": "vite build",
|
|
64
59
|
"release": "bun run format && bun run lint && bun run test && bun run build && bumpp --all",
|
|
65
60
|
"test": "bun test --preload ./tests/setup.ts",
|
|
66
61
|
"test:dev": "bun test --watch",
|
|
@@ -69,30 +64,30 @@
|
|
|
69
64
|
"qa": "oxlint --fix && oxfmt && tsc --noEmit"
|
|
70
65
|
},
|
|
71
66
|
"dependencies": {
|
|
72
|
-
"@babel/plugin-transform-arrow-functions": "^7.
|
|
73
|
-
"@babel/plugin-transform-template-literals": "^7.
|
|
74
|
-
"ci-info": "^4.
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"selfsigned": "^5.5.0"
|
|
67
|
+
"@babel/plugin-transform-arrow-functions": "^7.29.7",
|
|
68
|
+
"@babel/plugin-transform-template-literals": "^7.29.7",
|
|
69
|
+
"ci-info": "^4.4.0",
|
|
70
|
+
"selfsigned": "^5.5.0",
|
|
71
|
+
"vite-plugin-electron": "~1.0.4"
|
|
78
72
|
},
|
|
79
73
|
"devDependencies": {
|
|
80
|
-
"@
|
|
74
|
+
"@subf/config": "^0.2.1",
|
|
75
|
+
"@tsdown/css": "^0.22.1",
|
|
81
76
|
"@types/babel__core": "^7.20.5",
|
|
82
|
-
"@types/bun": "^1.3.
|
|
83
|
-
"bumpp": "^
|
|
84
|
-
"electron": "
|
|
85
|
-
"oxfmt": "^0.
|
|
86
|
-
"oxlint": "^1.
|
|
87
|
-
"tsdown": "^0.
|
|
88
|
-
"typescript": "^
|
|
89
|
-
"vite": "^8.0.
|
|
77
|
+
"@types/bun": "^1.3.14",
|
|
78
|
+
"bumpp": "^11.1.0",
|
|
79
|
+
"electron": "42.2.0",
|
|
80
|
+
"oxfmt": "^0.53.0",
|
|
81
|
+
"oxlint": "^1.68.0",
|
|
82
|
+
"tsdown": "^0.22.1",
|
|
83
|
+
"typescript": "^6.0.3",
|
|
84
|
+
"vite": "^8.0.16"
|
|
90
85
|
},
|
|
91
86
|
"peerDependencies": {
|
|
92
|
-
"@babel/core": "^7",
|
|
93
|
-
"@electron/asar": "
|
|
87
|
+
"@babel/core": "^7.29.7",
|
|
88
|
+
"@electron/asar": "4.2.0"
|
|
94
89
|
},
|
|
95
90
|
"overrides": {
|
|
96
|
-
"
|
|
91
|
+
"@electron/get": "^5.0.0"
|
|
97
92
|
}
|
|
98
93
|
}
|