@alphamatica/app-updater 1.0.0 → 1.0.2

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/dist/updater.js CHANGED
@@ -38,6 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.Updater = void 0;
40
40
  const axios_1 = __importDefault(require("axios"));
41
+ const child_process_1 = require("child_process");
41
42
  const crypto = __importStar(require("crypto"));
42
43
  const electron_1 = require("electron");
43
44
  const events_1 = require("events");
@@ -64,6 +65,42 @@ class Updater extends events_1.EventEmitter {
64
65
  'Content-Type': 'application/json',
65
66
  },
66
67
  });
68
+ // Очищаем мусор от предыдущих обновлений при старте
69
+ this.cleanupOldUpdateFiles();
70
+ }
71
+ /**
72
+ * Очищает старые временные файлы от предыдущих обновлений
73
+ */
74
+ cleanupOldUpdateFiles() {
75
+ try {
76
+ const tempDir = electron_1.app.getPath('temp');
77
+ const entries = fs.readdirSync(tempDir, { withFileTypes: true });
78
+ for (const entry of entries) {
79
+ // Удаляем старые папки update-*
80
+ if (entry.isDirectory() && entry.name.startsWith('update-')) {
81
+ const fullPath = path.join(tempDir, entry.name);
82
+ try {
83
+ fs.rmSync(fullPath, { recursive: true });
84
+ }
85
+ catch {
86
+ // Игнорируем ошибки — папка может быть занята
87
+ }
88
+ }
89
+ // Удаляем старые helper скрипты
90
+ if (entry.isFile() && entry.name.startsWith('updater-helper')) {
91
+ const fullPath = path.join(tempDir, entry.name);
92
+ try {
93
+ fs.unlinkSync(fullPath);
94
+ }
95
+ catch {
96
+ // Игнорируем ошибки
97
+ }
98
+ }
99
+ }
100
+ }
101
+ catch {
102
+ // Игнорируем ошибки при очистке — это не критично
103
+ }
67
104
  }
68
105
  on(event, listener) {
69
106
  return super.on(event, listener);
@@ -152,46 +189,188 @@ class Updater extends events_1.EventEmitter {
152
189
  throw err;
153
190
  }
154
191
  }
192
+ /**
193
+ * Получает корневую директорию приложения относительно исполняемого файла
194
+ */
195
+ getAppRootPath() {
196
+ const exePath = electron_1.app.getPath('exe');
197
+ const platform = process.platform;
198
+ if (platform === 'darwin') {
199
+ // macOS: /Applications/MyApp.app/Contents/MacOS/MyApp → /Applications/MyApp.app
200
+ // Поднимаемся на 3 уровня: MacOS → Contents → MyApp.app
201
+ return path.dirname(path.dirname(path.dirname(exePath)));
202
+ }
203
+ else {
204
+ // Windows/Linux: /path/to/MyApp/myapp.exe → /path/to/MyApp
205
+ return path.dirname(exePath);
206
+ }
207
+ }
155
208
  async installUpdate() {
156
209
  if (!this.downloadedFile || !this.updateInfo) {
157
210
  throw new Error('No update downloaded');
158
211
  }
159
- const appPath = electron_1.app.getAppPath();
160
- const updateDir = path.dirname(appPath);
161
- const backupDir = path.join(updateDir, '.backup');
212
+ const platform = process.platform;
213
+ const exePath = electron_1.app.getPath('exe');
214
+ const appRoot = this.getAppRootPath();
215
+ const tempDir = electron_1.app.getPath('temp');
216
+ const extractDir = path.join(tempDir, `update-${Date.now()}`);
162
217
  try {
163
- if (fs.existsSync(backupDir)) {
164
- fs.rmSync(backupDir, { recursive: true });
218
+ // Создаём временную директорию для распаковки
219
+ if (fs.existsSync(extractDir)) {
220
+ fs.rmSync(extractDir, { recursive: true });
165
221
  }
166
- fs.mkdirSync(backupDir, { recursive: true });
222
+ fs.mkdirSync(extractDir, { recursive: true });
167
223
  const ext = path.extname(this.downloadedFile).toLowerCase();
224
+ // Распаковываем во временную директорию
168
225
  if (ext === '.zip') {
169
- await (0, extract_zip_1.default)(this.downloadedFile, { dir: updateDir });
226
+ await (0, extract_zip_1.default)(this.downloadedFile, { dir: extractDir });
170
227
  }
171
228
  else if (ext === '.gz' || this.downloadedFile.endsWith('.tar.gz')) {
172
229
  await tar.extract({
173
230
  file: this.downloadedFile,
174
- cwd: updateDir,
231
+ cwd: extractDir,
175
232
  });
176
233
  }
177
234
  else if (ext === '.appimage' || ext === '.exe') {
178
- const targetPath = path.join(updateDir, path.basename(this.downloadedFile));
235
+ // Для исполняемых файлов просто копируем
236
+ const targetPath = path.join(extractDir, path.basename(this.downloadedFile));
179
237
  fs.copyFileSync(this.downloadedFile, targetPath);
180
238
  if (ext === '.appimage') {
181
239
  fs.chmodSync(targetPath, 0o755);
182
240
  }
183
241
  }
242
+ // Удаляем скачанный архив
184
243
  fs.unlinkSync(this.downloadedFile);
185
244
  this.downloadedFile = null;
186
- electron_1.app.relaunch();
187
- electron_1.app.exit(0);
245
+ // Используем helper скрипт для всех платформ — это надёжнее,
246
+ // т.к. нельзя заменить запущенный бинарник
247
+ await this.installWithHelper(extractDir, appRoot, exePath);
188
248
  }
189
249
  catch (error) {
250
+ // Очищаем временную директорию при ошибке
251
+ if (fs.existsSync(extractDir)) {
252
+ fs.rmSync(extractDir, { recursive: true });
253
+ }
190
254
  const err = error instanceof Error ? error : new Error(String(error));
191
255
  this.emit('error', err);
192
256
  throw err;
193
257
  }
194
258
  }
259
+ /**
260
+ * Копирует содержимое директории рекурсивно
261
+ */
262
+ async copyDirectory(src, dest) {
263
+ const entries = fs.readdirSync(src, { withFileTypes: true });
264
+ for (const entry of entries) {
265
+ const srcPath = path.join(src, entry.name);
266
+ const destPath = path.join(dest, entry.name);
267
+ if (entry.isDirectory()) {
268
+ if (!fs.existsSync(destPath)) {
269
+ fs.mkdirSync(destPath, { recursive: true });
270
+ }
271
+ await this.copyDirectory(srcPath, destPath);
272
+ }
273
+ else {
274
+ const destDir = path.dirname(destPath);
275
+ if (!fs.existsSync(destDir)) {
276
+ fs.mkdirSync(destDir, { recursive: true });
277
+ }
278
+ fs.copyFileSync(srcPath, destPath);
279
+ }
280
+ }
281
+ }
282
+ /**
283
+ * Установка через helper скрипт (Windows/Linux)
284
+ * Скрипт ждёт завершения приложения, копирует файлы и перезапускает
285
+ */
286
+ async installWithHelper(extractDir, appRoot, exePath) {
287
+ const isWindows = process.platform === 'win32';
288
+ const pid = process.pid;
289
+ if (isWindows) {
290
+ const helperPath = path.join(electron_1.app.getPath('temp'), `updater-helper-${Date.now()}.cmd`);
291
+ const script = `@echo off
292
+ chcp 65001 >nul
293
+ setlocal enabledelayedexpansion
294
+
295
+ set "SOURCE_DIR=${extractDir}"
296
+ set "TARGET_DIR=${appRoot}"
297
+ set "EXE_PATH=${exePath}"
298
+ set "PID=${pid}"
299
+
300
+ echo Waiting for application to close...
301
+ :waitloop
302
+ tasklist /FI "PID eq %PID%" 2>nul | find /I "%PID%" >nul
303
+ if not errorlevel 1 (
304
+ timeout /t 1 /nobreak >nul
305
+ goto waitloop
306
+ )
307
+
308
+ echo Copying update files...
309
+ xcopy /E /Y /I "%SOURCE_DIR%\*" "%TARGET_DIR%\"
310
+ if errorlevel 1 (
311
+ echo Error copying files!
312
+ pause
313
+ exit /b 1
314
+ )
315
+
316
+ echo Cleaning up...
317
+ rmdir /S /Q "%SOURCE_DIR%"
318
+
319
+ echo Starting application...
320
+ start "" "%EXE_PATH%"
321
+
322
+ (goto) 2>nul & del "%~f0"
323
+ `;
324
+ fs.writeFileSync(helperPath, script, { encoding: 'utf8' });
325
+ (0, child_process_1.spawn)('cmd.exe', ['/c', helperPath], {
326
+ detached: true,
327
+ stdio: 'ignore',
328
+ windowsHide: true,
329
+ }).unref();
330
+ }
331
+ else {
332
+ // macOS/Linux/Unix helper script
333
+ const helperPath = path.join(electron_1.app.getPath('temp'), `updater-helper-${Date.now()}.sh`);
334
+ const isMac = process.platform === 'darwin';
335
+ // На macOS используем open для запуска .app bundle
336
+ const launchCmd = isMac && appRoot.endsWith('.app')
337
+ ? `open "${appRoot}"`
338
+ : `chmod +x "$EXE_PATH" && "$EXE_PATH" &`;
339
+ const script = `#!/bin/bash
340
+ SOURCE_DIR="${extractDir}"
341
+ TARGET_DIR="${appRoot}"
342
+ EXE_PATH="${exePath}"
343
+ PID=${pid}
344
+
345
+ echo "Waiting for application to close..."
346
+ while kill -0 $PID 2>/dev/null; do
347
+ sleep 1
348
+ done
349
+
350
+ echo "Copying update files..."
351
+ cp -rf "$SOURCE_DIR/"* "$TARGET_DIR/"
352
+ if [ $? -ne 0 ]; then
353
+ echo "Error copying files!"
354
+ exit 1
355
+ fi
356
+
357
+ echo "Cleaning up..."
358
+ rm -rf "$SOURCE_DIR"
359
+
360
+ echo "Starting application..."
361
+ ${launchCmd}
362
+
363
+ rm -- "$0"
364
+ `;
365
+ fs.writeFileSync(helperPath, script, { mode: 0o755 });
366
+ (0, child_process_1.spawn)('bash', [helperPath], {
367
+ detached: true,
368
+ stdio: 'ignore',
369
+ }).unref();
370
+ }
371
+ // Закрываем приложение, helper продолжит работу
372
+ electron_1.app.exit(0);
373
+ }
195
374
  startAutoCheck() {
196
375
  if (this.config.checkInterval > 0) {
197
376
  this.checkTimer = setInterval(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"updater.js","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updater.js","sourceRoot":"","sources":["../src/updater.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alphamatica/app-updater",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "Electron auto-updater client for A-Updater service",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -22,7 +22,7 @@
22
22
  "build": "tsc",
23
23
  "dev": "tsc --watch",
24
24
  "clean": "rimraf dist",
25
- "prepublishOnly": "yarn clean && yarn build"
25
+ "prepublishOnly": "npm run clean && npm run build"
26
26
  },
27
27
  "keywords": [
28
28
  "electron",
@@ -33,7 +33,7 @@
33
33
  "a-updater"
34
34
  ],
35
35
  "author": "Alphamatica",
36
- "license": "MIT",
36
+ "license": "UNLICENSED",
37
37
  "engines": {
38
38
  "node": ">=16.0.0"
39
39
  },