@camera.ui/server 0.0.94 → 0.0.95

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.
Files changed (119) hide show
  1. package/dist/interface/assets/{404-BvpgHGlA.js → 404-Clo6qjGo.js} +1 -1
  2. package/dist/interface/assets/{About-BCNMNyg8.js → About-Bfjj72u5.js} +1 -1
  3. package/dist/interface/assets/{Adminpanel-B0OTwlea.js → Adminpanel-B_SQSHyD.js} +1 -1
  4. package/dist/interface/assets/{Automation-BTp9IgO9.js → Automation-CQm0ZHfh.js} +2 -2
  5. package/dist/interface/assets/{Automations-DYnpW6sZ.js → Automations-Dbs6NMx-.js} +1 -1
  6. package/dist/interface/assets/{Camera-BaYP1YDU.js → Camera-CTIUE1PX.js} +2 -2
  7. package/dist/interface/assets/{CameraConsole-BdmOe5_y.js → CameraConsole-BQVlxqb1.js} +1 -1
  8. package/dist/interface/assets/{Cameras-BX1vYQf1.js → Cameras-CyZMjvQu.js} +1 -1
  9. package/dist/interface/assets/{Camview-WKrFnWE_.js → Camview-BnpJaGfI.js} +1 -1
  10. package/dist/interface/assets/{Config-MiH-DMPP.js → Config-Dc7jeUIy.js} +1 -1
  11. package/dist/interface/assets/{ConfigActionCameraControl-DY9lfyb-.js → ConfigActionCameraControl-aMa-699v.js} +1 -1
  12. package/dist/interface/assets/{ConfigActionNotification-BzoTjUZt.js → ConfigActionNotification-D_4Y919Q.js} +1 -1
  13. package/dist/interface/assets/{ConfigActionPlugin-DdXWHgcG.js → ConfigActionPlugin-DMAUig6Q.js} +1 -1
  14. package/dist/interface/assets/{ConfigActionSensor-D8_z1S-I.js → ConfigActionSensor-DuHOX22J.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionSnapshot-BImtQaNm.js → ConfigActionSnapshot-Dtde_3hQ.js} +1 -1
  16. package/dist/interface/assets/{ConfigConditionSensorState-BiZJOBjM.js → ConfigConditionSensorState-CyPhwS7K.js} +1 -1
  17. package/dist/interface/assets/{ConfigTriggerDetection-Cd7sZk8S.js → ConfigTriggerDetection-C7RtR75f.js} +1 -1
  18. package/dist/interface/assets/{ConfigTriggerGeofence-qhLKaH1I.js → ConfigTriggerGeofence-CDU2jx7z.js} +1 -1
  19. package/dist/interface/assets/{ConfigTriggerSensor-fn74bD5T.js → ConfigTriggerSensor-t0MTHl1T.js} +1 -1
  20. package/dist/interface/assets/{ConfigTriggerSystem-C6tHuU5p.js → ConfigTriggerSystem-DXCusYWo.js} +1 -1
  21. package/dist/interface/assets/{Console-CouprsTc.js → Console-D32_FF2q.js} +1 -1
  22. package/dist/interface/assets/{CuiAvatar-4mQ1VfCP.js → CuiAvatar-DQfgB_0j.js} +1 -1
  23. package/dist/interface/assets/{CuiBottomSheet-k8Zb5XD1.js → CuiBottomSheet-Cgbt7aQP.js} +1 -1
  24. package/dist/interface/assets/CuiBottomSheet-HO59nDTz.js +1 -0
  25. package/dist/interface/assets/{CuiCameraCard-CGhZ-FYr.js → CuiCameraCard-BJpi9GYb.js} +1 -1
  26. package/dist/interface/assets/{CuiCameraPipCard-BzzOZlKR.js → CuiCameraPipCard-CLa09t5W.js} +1 -1
  27. package/dist/interface/assets/{CuiCameraRecordings-vljiYHz7.js → CuiCameraRecordings-DbPr4N27.js} +1 -1
  28. package/dist/interface/assets/{CuiCameraShares-kPpvCTUH.js → CuiCameraShares-BCTN3Ie-.js} +1 -1
  29. package/dist/interface/assets/{CuiCameraSnapshot-BWDbpVN7.js → CuiCameraSnapshot-fX1tTzWs.js} +1 -1
  30. package/dist/interface/assets/{CuiCameraTable-C8X20w8S.js → CuiCameraTable-DMKLoisE.js} +1 -1
  31. package/dist/interface/assets/{CuiImage-CJBGhAfQ.js → CuiImage-Ab94PYIg.js} +1 -1
  32. package/dist/interface/assets/{CuiMenu-DhzA8fK1.js → CuiMenu-CX2XxBmg.js} +1 -1
  33. package/dist/interface/assets/{CuiPluginCard-cbmwOjLF.js → CuiPluginCard-DQXny68Q.js} +2 -2
  34. package/dist/interface/assets/{CuiPluginOAuthButton-Dn87Ix6E.js → CuiPluginOAuthButton-BvRVOPAt.js} +2 -2
  35. package/dist/interface/assets/{CuiQRCode-CMROqC15.js → CuiQRCode-DOVuTNfQ.js} +1 -1
  36. package/dist/interface/assets/{CuiRecordingsGrid-BkA9YcHq.js → CuiRecordingsGrid-CS01gjpz.js} +1 -1
  37. package/dist/interface/assets/{CuiSchema-BeMqdQ_W.js → CuiSchema-L35JTZ5Y.js} +1 -1
  38. package/dist/interface/assets/{Faces-CNRBtzW7.js → Faces-DLdVxTYg.js} +1 -1
  39. package/dist/interface/assets/{FirstSteps-CNuVbY5-.js → FirstSteps-c4m_l-s9.js} +1 -1
  40. package/dist/interface/assets/{Instances-CrUVwyDT.js → Instances-BE8EkRQ4.js} +1 -1
  41. package/dist/interface/assets/{Menu-DMCqoiJX.js → Menu-BK9rk_sp.js} +1 -1
  42. package/dist/interface/assets/{OAuthDeviceFlow-DVHqJJ0-.js → OAuthDeviceFlow-DwoyMn6e.js} +1 -1
  43. package/dist/interface/assets/{Plugin-4QhPU2z5.js → Plugin-B4UvyHA4.js} +1 -1
  44. package/dist/interface/assets/{PluginConsole-BGcYTBBP.js → PluginConsole-00dw-HUB.js} +1 -1
  45. package/dist/interface/assets/{PluginSchema-BsQbR0zX.js → PluginSchema-7qwKEn6c.js} +1 -1
  46. package/dist/interface/assets/{Plugins-B5g1RJAK.js → Plugins-CFXvg0P-.js} +2 -2
  47. package/dist/interface/assets/{Recordings-KHQAIrEW.js → Recordings-MSRod46b.js} +1 -1
  48. package/dist/interface/assets/{Settings-DRsnud_Q.js → Settings-CnGCN9cC.js} +1 -1
  49. package/dist/interface/assets/SettingsAccount-DoFSZhI5.js +1 -0
  50. package/dist/interface/assets/{SettingsAccount-DySpU4el.js → SettingsAccount-lIy74Kjh.js} +1 -1
  51. package/dist/interface/assets/SettingsAppearance-DA8ON3Ts.js +1 -0
  52. package/dist/interface/assets/{SettingsAppearance-CGdPmMkM.js → SettingsAppearance-DLnlx8bM.js} +1 -1
  53. package/dist/interface/assets/{SettingsBackup-BmGR_7CF.js → SettingsBackup-CpBqig7H.js} +1 -1
  54. package/dist/interface/assets/{SettingsNotifications-BVKeFwwT.js → SettingsNotifications-di325j-b.js} +1 -1
  55. package/dist/interface/assets/{SettingsRecordings-Dr9-c7f7.js → SettingsRecordings-DvNlji2N.js} +1 -1
  56. package/dist/interface/assets/{SettingsRemote-ht_onhMJ.js → SettingsRemote-Kb-ichM0.js} +1 -1
  57. package/dist/interface/assets/{SettingsSystem-B0UMgWbE.js → SettingsSystem-C0OHXycw.js} +2 -2
  58. package/dist/interface/assets/{SettingsUsers-Bb1juUy8.js → SettingsUsers-Dx8Fm2QE.js} +1 -1
  59. package/dist/interface/assets/{Terminal-DvvXgMu-.js → Terminal-BR9InMiL.js} +1 -1
  60. package/dist/interface/assets/VersionsHandler-J7N_cZBS.js +7 -0
  61. package/dist/interface/assets/{Workers-D_wZn8hC.js → Workers-BINNsLDU.js} +1 -1
  62. package/dist/interface/assets/{api-DbOpzNbt.js → api-D23Y8GEd.js} +1 -1
  63. package/dist/interface/assets/api-DjhIYzsF.js +2 -0
  64. package/dist/interface/assets/{auth-C14L3iEn.js → auth-CeN6oTgU.js} +1 -1
  65. package/dist/interface/assets/{automations-BwTCZACp.js → automations-G3fWqK-C.js} +1 -1
  66. package/dist/interface/assets/{backup-I44o7LfB.js → backup-KFYNv85J.js} +1 -1
  67. package/dist/interface/assets/{cameras-CJU6PhVu.js → cameras-DeAGPYqb.js} +1 -1
  68. package/dist/interface/assets/cloudHandoff-Di9OHN7W.js +1 -0
  69. package/dist/interface/assets/copy-16-filled-DUaht4LK.js +1 -0
  70. package/dist/interface/assets/{deviceId-3kTQbnbi.js → deviceId-CgRNCVsl.js} +1 -1
  71. package/dist/interface/assets/{hasPermission-CuUcJNef.js → hasPermission-nr9uI1sh.js} +1 -1
  72. package/dist/interface/assets/{instances-fJJkMjZZ.js → instances-Cz4DJwNc.js} +1 -1
  73. package/dist/interface/assets/{locale-JdE3H3At.js → locale-fNpCK2bH.js} +1 -1
  74. package/dist/interface/assets/{main-smWr0ZCq.js → main-sGc9j7q_.js} +2 -2
  75. package/dist/interface/assets/{notifications-BHvHIRSM.js → notifications-euShmBTH.js} +1 -1
  76. package/dist/interface/assets/{plugins-C6jbSDXS.js → plugins-DsiC2cVL.js} +1 -1
  77. package/dist/interface/assets/{round-restart-alt-CNkzBawa.js → round-restart-alt-AXgxJgvx.js} +1 -1
  78. package/dist/interface/assets/{router-BZ7fTrv9.js → router-BLvVFGz9.js} +2 -2
  79. package/dist/interface/assets/{server-BBHyrnAu.js → server-CfW4FWmD.js} +1 -1
  80. package/dist/interface/assets/{shares-DQJerWK4.js → shares-CifP6qUz.js} +1 -1
  81. package/dist/interface/assets/{theme-B2nITMtK.js → theme-3K07RHLA.js} +1 -1
  82. package/dist/interface/assets/{useBiometricCredentials-wKhzGV-q.js → useBiometricCredentials-DS-lOPkp.js} +1 -1
  83. package/dist/interface/assets/{useCameraOptions-CtBJS7bp.js → useCameraOptions-CO9VqYVT.js} +1 -1
  84. package/dist/interface/assets/{useCuiDialog-Bp7p3zLy.js → useCuiDialog-BlhSS0jk.js} +1 -1
  85. package/dist/interface/assets/{useFileDownload-CBx3wVDu.js → useFileDownload-DEM9UhjP.js} +1 -1
  86. package/dist/interface/assets/{useLogsSocket-BTa94fXn.js → useLogsSocket-CNAQ1g8I.js} +1 -1
  87. package/dist/interface/assets/{useStreamStatus-Dj6ybIhF.js → useStreamStatus-Bn6gxutk.js} +1 -1
  88. package/dist/interface/assets/{view-grid-CstDugYR.js → view-grid-Cg2Wk0qw.js} +1 -1
  89. package/dist/interface/index.html +26 -26
  90. package/dist/interface/sw.js +1 -1
  91. package/dist/server/package.json +9 -5
  92. package/dist/server/src/api/controllers/plugins.controller.d.ts +0 -1
  93. package/dist/server/src/api/controllers/plugins.controller.js +22 -108
  94. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  95. package/dist/server/src/api/controllers/server.controller.js +2 -13
  96. package/dist/server/src/api/controllers/server.controller.js.map +1 -1
  97. package/dist/server/src/api/services/backup.service.js.map +1 -1
  98. package/dist/server/src/api/services/instances.service.js.map +1 -1
  99. package/dist/server/src/api/services/plugins.service.d.ts +0 -2
  100. package/dist/server/src/api/services/plugins.service.js +10 -111
  101. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  102. package/dist/server/src/api/websocket/nsp/server.d.ts +0 -2
  103. package/dist/server/src/api/websocket/nsp/server.js +17 -90
  104. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  105. package/dist/server/src/utils/npm/auth.d.ts +2 -0
  106. package/dist/server/src/utils/npm/auth.js +54 -0
  107. package/dist/server/src/utils/npm/auth.js.map +1 -0
  108. package/dist/server/src/utils/npm/index.d.ts +44 -0
  109. package/dist/server/src/utils/npm/index.js +115 -0
  110. package/dist/server/src/utils/npm/index.js.map +1 -0
  111. package/package.json +9 -5
  112. package/dist/interface/assets/CuiBottomSheet-FXwjLm5t.js +0 -1
  113. package/dist/interface/assets/SettingsAccount-Cny3sanY.js +0 -1
  114. package/dist/interface/assets/SettingsAppearance-DvKlfkfH.js +0 -1
  115. package/dist/interface/assets/VersionsHandler-BkjcICiT.js +0 -7
  116. package/dist/interface/assets/api-Tan5u5QZ.js +0 -2
  117. package/dist/interface/assets/cloudHandoff-AW0MqbxU.js +0 -1
  118. package/dist/interface/assets/copy-16-filled-CG924HKI.js +0 -1
  119. /package/dist/interface/assets/{logo-512-DLKVOU2S.png → error-256-DLKVOU2S.png} +0 -0
@@ -7,17 +7,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { getNpmPath } from '@camera.ui/common/node';
11
- import { ensureDir, move, pathExists, readJson, remove } from 'fs-extra/esm';
12
- import { spawn } from 'node:child_process';
13
- import { createHash } from 'node:crypto';
14
- import { platform, tmpdir, userInfo } from 'node:os';
15
- import { basename, dirname, join } from 'node:path';
16
- import { extract } from 'tar';
10
+ import { move, pathExists, readJson, remove } from 'fs-extra/esm';
11
+ import { tmpdir, userInfo } from 'node:os';
12
+ import { join } from 'node:path';
17
13
  import { container, delay, registry } from 'tsyringe';
18
14
  import { v4 as uuidv4 } from 'uuid';
19
15
  import { PluginManager } from '../../plugins/index.js';
20
16
  import { Plugin } from '../../plugins/plugin.js';
17
+ import { extractPackage, installDependencies } from '../../utils/npm/index.js';
21
18
  import { Database } from '../database/index.js';
22
19
  import { CamerasService } from './cameras.service.js';
23
20
  import { elidePath, getTerminalCols, InstallLogger } from '../utils/install-logger.js';
@@ -175,47 +172,18 @@ let PluginsService = class PluginsService {
175
172
  const backupTempDir = join(tmpdir(), `${pluginName}_backup`);
176
173
  let backedUp = false;
177
174
  try {
178
- const npmRegistry = 'https://registry.npmjs.org';
179
- const packageUrl = `${npmRegistry}/${pluginName}/${version}`;
180
- log.step('Fetching package information');
181
- const response = await fetch(packageUrl);
182
- if (!response.ok) {
183
- const message = (await response.text()) ?? `${response.statusText} (${response.status})`;
184
- throw new Error(`HTTP error! Message: ${message}`);
185
- }
186
- const packageInfo = await response.json();
187
- const tarballUrl = packageInfo.dist.tarball;
188
- const expectedShasum = packageInfo.dist.shasum;
189
- log.done();
190
- const tarballData = await this.downloadWithProgress(log, tarballUrl);
191
- log.step('Verifying integrity');
192
- const computedShasum = createHash('sha1').update(Buffer.from(tarballData)).digest('hex');
193
- if (computedShasum !== expectedShasum) {
194
- throw new Error(`SHA checksum mismatch. Expected: ${expectedShasum}, Got: ${computedShasum}`);
195
- }
196
- log.done();
197
175
  if (await pathExists(targetDir)) {
198
176
  log.step('Backing up existing installation');
199
177
  await move(targetDir, backupTempDir);
200
178
  backedUp = true;
201
179
  log.done();
202
180
  }
203
- await ensureDir(targetDir);
204
- log.step('Extracting package');
205
- await new Promise((resolve, reject) => {
206
- const extractStream = extract({
207
- cwd: targetDir,
208
- strip: 1,
209
- });
210
- extractStream.on('error', reject);
211
- extractStream.on('end', () => {
212
- log.done();
213
- resolve();
214
- });
215
- extractStream.write(Buffer.from(tarballData));
216
- extractStream.end();
217
- });
218
- await this.installProductionDependencies(log, targetDir);
181
+ log.step('Downloading and extracting package');
182
+ await extractPackage(`${pluginName}@${version}`, targetDir);
183
+ log.done();
184
+ log.block('Installing dependencies');
185
+ await installDependencies(targetDir, (chunk) => log.feed(chunk));
186
+ log.flush();
219
187
  await this.extrackBundeledPlugin(log, targetDir);
220
188
  log.step('Cleaning up');
221
189
  await remove(backupTempDir);
@@ -270,75 +238,6 @@ let PluginsService = class PluginsService {
270
238
  throw error;
271
239
  }
272
240
  }
273
- async downloadWithProgress(log, url) {
274
- const response = await fetch(url);
275
- if (!response.ok) {
276
- const message = (await response.text()) ?? `${response.statusText} (${response.status})`;
277
- throw new Error(`HTTP error! Message: ${message}`);
278
- }
279
- const contentLength = Number(response.headers.get('Content-Length'));
280
- let receivedLength = 0;
281
- const chunks = [];
282
- const reader = response.body.getReader();
283
- log.step('Downloading');
284
- while (true) {
285
- const { done, value } = await reader.read();
286
- if (done) {
287
- break;
288
- }
289
- chunks.push(value);
290
- receivedLength += value.length;
291
- log.progress(Math.round((receivedLength / contentLength) * 100));
292
- }
293
- log.done();
294
- return await new Blob(chunks).arrayBuffer();
295
- }
296
- async installProductionDependencies(log, packageDir) {
297
- return new Promise((resolve, reject) => {
298
- log.block('Installing dependencies');
299
- const npmCmd = getNpmPath()[0];
300
- const args = ['install', '--omit=dev', '--include=prod', '--no-progress'];
301
- const env = { ...process.env };
302
- Object.assign(env, {
303
- NODE_ENV: 'production',
304
- npm_config_update_notifier: 'false',
305
- npm_config_prefer_online: 'true',
306
- npm_config_progress: 'false',
307
- npm_config_prefix: packageDir,
308
- npm_config_color: 'always',
309
- FORCE_COLOR: '1',
310
- });
311
- if (platform() !== 'win32' && basename(packageDir) === 'lib') {
312
- env.npm_config_prefix = dirname(packageDir);
313
- }
314
- const childProcess = spawn(npmCmd, args, {
315
- cwd: packageDir,
316
- env,
317
- stdio: ['ignore', 'pipe', 'pipe'],
318
- });
319
- const handleChunk = (data) => log.feed(data.toString());
320
- childProcess.stdout.on('data', handleChunk);
321
- childProcess.stderr.on('data', handleChunk);
322
- const timeoutTimer = setTimeout(() => {
323
- childProcess.kill('SIGTERM');
324
- reject(new Error('Operation timed out after 5 minutes'));
325
- }, 300000);
326
- childProcess.on('close', (code) => {
327
- clearTimeout(timeoutTimer);
328
- log.flush();
329
- if (code === 0) {
330
- resolve();
331
- }
332
- else {
333
- reject(new Error(`Operation failed with exit code ${code}. Please review log for details.`));
334
- }
335
- });
336
- childProcess.on('error', (err) => {
337
- clearTimeout(timeoutTimer);
338
- reject(new Error(`Failed to start process: ${err.message}`));
339
- });
340
- });
341
- }
342
241
  async extrackBundeledPlugin(log, packageDir) {
343
242
  log.step('Checking for bundled plugin');
344
243
  const bundlePath = await PluginManager.checkBundeledPlugin(packageDir);
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.service.js","sourceRoot":"","sources":["../../../../../src/api/services/plugins.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.service.js","sourceRoot":"","sources":["../../../../../src/api/services/plugins.service.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,4 @@ export declare class ServerNamespace {
21
21
  restartServerInterval(timer?: number): void;
22
22
  private checkServerUpdate;
23
23
  private checkPluginUpdates;
24
- private getPluginFromNpm;
25
- private getAvailablePluginVersions;
26
24
  }
@@ -1,15 +1,10 @@
1
- import { getNpmPath } from '@camera.ui/common/node';
2
1
  import { APP_SERVER_NAME, IS_ELECTRON } from '@camera.ui/common/utils';
3
2
  import { Severity } from '@camera.ui/sdk';
4
- import { exec } from 'node:child_process';
5
- import { promisify } from 'node:util';
6
- import semver, { gt, parse } from 'semver';
7
3
  import { container } from 'tsyringe';
8
4
  import { SystemNotificationTypeId } from '../../../manager/types.js';
9
5
  import { ConfigService } from '../../../services/config/index.js';
6
+ import { checkForUpdate } from '../../../utils/npm/index.js';
10
7
  import { PluginsService } from '../../services/plugins.service.js';
11
- import { fetchWithTimeout } from '../../utils/fetch.js';
12
- const execAsync = promisify(exec);
13
8
  export class ServerNamespace {
14
9
  nsp;
15
10
  nspName = '/server';
@@ -69,10 +64,11 @@ export class ServerNamespace {
69
64
  }
70
65
  }
71
66
  async checkServer(interval) {
72
- const serverUpdate = this.serverUpdate.latestVersion;
67
+ const hadUpdate = this.serverUpdate.updateAvailable || this.serverUpdate.betaUpdateAvailable;
73
68
  await this.checkServerUpdate();
74
- if (this.serverUpdate.latestVersion) {
75
- if (!serverUpdate || interval) {
69
+ const hasUpdate = this.serverUpdate.updateAvailable || this.serverUpdate.betaUpdateAvailable;
70
+ if (hasUpdate) {
71
+ if (!hadUpdate || interval) {
76
72
  this.nsp.emit('server-updates', this.serverUpdate);
77
73
  this.proxyServer.notificationManager.notify({
78
74
  source: { kind: 'system', id: SystemNotificationTypeId.UpdateAvailable },
@@ -106,96 +102,27 @@ export class ServerNamespace {
106
102
  }
107
103
  async checkServerUpdate() {
108
104
  try {
109
- // TODO: Change on release
110
- const npmPath = getNpmPath().join(' ');
111
- const { stdout, stderr } = await execAsync(`${npmPath} view ${APP_SERVER_NAME} versions dist-tags --json`);
112
- if (stderr) {
113
- return;
114
- }
115
- const data = JSON.parse(stdout);
116
- const currentVersion = ConfigService.VERSION;
117
- const latestVersion = data['dist-tags'].latest;
118
- const latestAlpha = data['dist-tags'].alpha;
119
- const updateAvailableLatest = semver.gt(latestVersion, currentVersion);
120
- const updateAvailableAlpha = semver.gt(latestAlpha, currentVersion);
121
- const updateAvailable = updateAvailableLatest ? latestVersion : updateAvailableAlpha ? latestAlpha : undefined;
122
- this.serverUpdate = {
123
- updateAvailable: updateAvailableLatest,
124
- betaUpdateAvailable: updateAvailableAlpha,
125
- latestVersion: updateAvailable,
126
- };
105
+ this.serverUpdate = await checkForUpdate(APP_SERVER_NAME, ConfigService.VERSION);
127
106
  }
128
107
  catch {
129
- // ignore
108
+ // ignore — keep the last known state
130
109
  }
131
110
  }
132
111
  async checkPluginUpdates() {
133
- try {
134
- const plugins = this.pluginsService.listPlugins();
135
- const pluginStates = [];
136
- for (const plugin of plugins) {
137
- const pluginState = await this.getPluginFromNpm(plugin.info);
138
- if (pluginState.updateAvailable || pluginState.betaUpdateAvailable) {
139
- pluginStates.push(pluginState);
112
+ const plugins = this.pluginsService.listPlugins();
113
+ const pluginStates = [];
114
+ for (const plugin of plugins) {
115
+ try {
116
+ const state = await checkForUpdate(plugin.info.pluginName, plugin.info.installedVersion ?? '0.0.0');
117
+ if (state.updateAvailable || state.betaUpdateAvailable) {
118
+ pluginStates.push(state);
140
119
  }
141
120
  }
142
- this.pluginUpdates = pluginStates;
143
- }
144
- catch {
145
- // ignore
146
- }
147
- }
148
- async getPluginFromNpm(plugin) {
149
- const pluginState = {
150
- updateAvailable: false,
151
- betaUpdateAvailable: false,
152
- };
153
- try {
154
- const response = await fetchWithTimeout(`https://registry.npmjs.org/${encodeURIComponent(plugin.pluginName).replace(/%40/g, '@')}/latest`, {
155
- method: 'GET',
156
- });
157
- if (!response.ok) {
158
- const message = (await response.text()) ?? `${response.statusText} (${response.status})`;
159
- throw new Error(`Failed to fetch plugin: ${message}`);
160
- }
161
- const pkg = (await response.json());
162
- pluginState.latestVersion = pkg.version;
163
- pluginState.updateAvailable = gt(pkg.version, plugin.installedVersion);
164
- // check for beta updates, if no latest version is available
165
- if (!pluginState.updateAvailable) {
166
- const pluginVersion = parse(plugin.installedVersion);
167
- if (pluginVersion?.prerelease[0] === 'beta' && gt(plugin.installedVersion, pluginState.latestVersion || '0.0.1')) {
168
- const versions = await this.getAvailablePluginVersions(plugin.pluginName);
169
- if (versions.tags.beta && gt(versions.tags.beta, plugin.installedVersion)) {
170
- pluginState.betaUpdateAvailable = true;
171
- pluginState.latestVersion = versions.tags.beta;
172
- }
173
- }
121
+ catch {
122
+ // skip this plugin
174
123
  }
175
124
  }
176
- catch {
177
- pluginState.latestVersion = undefined;
178
- pluginState.updateAvailable = false;
179
- pluginState.betaUpdateAvailable = false;
180
- }
181
- return pluginState;
182
- }
183
- async getAvailablePluginVersions(pluginName) {
184
- const response = await fetchWithTimeout(`https://registry.npmjs.org/${encodeURIComponent(pluginName).replace(/%40/g, '@')}`, {
185
- method: 'GET',
186
- headers: {
187
- accept: 'application/vnd.npm.install-v1+json', // only return minimal information
188
- },
189
- });
190
- if (!response.ok) {
191
- const message = (await response.text()) ?? `${response.statusText} (${response.status})`;
192
- throw new Error(`Failed to fetch plugin: ${message}`);
193
- }
194
- const pkg = (await response.json());
195
- return {
196
- tags: pkg['dist-tags'],
197
- versions: Object.keys(pkg.versions).reverse(),
198
- };
125
+ this.pluginUpdates = pluginStates;
199
126
  }
200
127
  }
201
128
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Options } from 'pacote';
2
+ export declare function resolveNpmOptions(): Options;
@@ -0,0 +1,54 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { join } from 'node:path';
4
+ const DEFAULT_REGISTRY = 'https://registry.npmjs.org/';
5
+ function interpolateEnv(value) {
6
+ return value.replace(/\$\{([^}]+)\}/g, (_match, name) => process.env[name] ?? '');
7
+ }
8
+ function parseNpmrc(file) {
9
+ if (!existsSync(file)) {
10
+ return {};
11
+ }
12
+ const config = {};
13
+ for (const rawLine of readFileSync(file, 'utf8').split(/\r?\n/)) {
14
+ const line = rawLine.trim();
15
+ if (!line || line.startsWith('#') || line.startsWith(';')) {
16
+ continue;
17
+ }
18
+ const eq = line.indexOf('=');
19
+ if (eq === -1) {
20
+ continue;
21
+ }
22
+ const key = line.slice(0, eq).trim();
23
+ const value = interpolateEnv(line
24
+ .slice(eq + 1)
25
+ .trim()
26
+ .replace(/^["']|["']$/g, ''));
27
+ if (key) {
28
+ config[key] = value;
29
+ }
30
+ }
31
+ return config;
32
+ }
33
+ function nerfDart(registry) {
34
+ try {
35
+ const url = new URL(registry);
36
+ return `//${url.host}${url.pathname}`;
37
+ }
38
+ catch {
39
+ return '//registry.npmjs.org/';
40
+ }
41
+ }
42
+ export function resolveNpmOptions() {
43
+ const merged = {
44
+ ...parseNpmrc(join(homedir(), '.npmrc')),
45
+ ...parseNpmrc(join(process.cwd(), '.npmrc')),
46
+ };
47
+ const registry = merged.registry || DEFAULT_REGISTRY;
48
+ const envToken = [process.env.CAMERAUI_NPM_TOKEN, process.env.NPM_TOKEN].find(Boolean);
49
+ if (envToken) {
50
+ merged[`${nerfDart(registry)}:_authToken`] = envToken;
51
+ }
52
+ return { ...merged, registry };
53
+ }
54
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../src/utils/npm/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;AAEvD,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1D,SAAS;QACX,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,cAAc,CAC1B,IAAI;aACD,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;aACb,IAAI,EAAE;aACN,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAC/B,CAAC;QAEF,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB;IAChC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,uBAAuB,CAAC;IACjC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAA2B;QACrC,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACxC,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;KAC7C,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,gBAAgB,CAAC;IAErD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC;IACxD,CAAC;IAED,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC;AACjC,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { AbbreviatedManifest, AbbreviatedPackument, ManifestResult, Packument, PackumentResult } from 'pacote';
2
+ type FullPackument = Packument & PackumentResult & {
3
+ description?: string;
4
+ };
5
+ type AbbrPackument = AbbreviatedPackument & PackumentResult;
6
+ export interface UpdateCheckResult {
7
+ updateAvailable: boolean;
8
+ betaUpdateAvailable: boolean;
9
+ latestVersion?: string;
10
+ }
11
+ export interface NpmSearchObject {
12
+ name: string;
13
+ version: string;
14
+ description?: string;
15
+ keywords?: string[];
16
+ links?: Record<string, string>;
17
+ author?: {
18
+ name?: string;
19
+ };
20
+ publisher?: {
21
+ username?: string;
22
+ };
23
+ date?: string;
24
+ }
25
+ interface PackumentOptions {
26
+ full?: boolean;
27
+ refresh?: boolean;
28
+ }
29
+ export declare function getPackument(name: string, options: PackumentOptions & {
30
+ full: true;
31
+ }): Promise<FullPackument>;
32
+ export declare function getPackument(name: string, options?: PackumentOptions): Promise<AbbrPackument>;
33
+ export declare function invalidatePackage(name?: string): void;
34
+ export declare function getDistTags(name: string): Promise<Record<string, string>>;
35
+ export declare function getManifest(spec: string): Promise<AbbreviatedManifest & ManifestResult>;
36
+ export declare function getVersionsAndDistTags(name: string): Promise<{
37
+ versions: string[];
38
+ 'dist-tags': Record<string, string>;
39
+ }>;
40
+ export declare function checkForUpdate(name: string, currentVersion: string, prereleaseTag?: string): Promise<UpdateCheckResult>;
41
+ export declare function searchPackages(query: string, size?: number): Promise<NpmSearchObject[]>;
42
+ export declare function extractPackage(spec: string, dest: string): Promise<void>;
43
+ export declare function installDependencies(packageDir: string, onOutput?: (chunk: string) => void): Promise<void>;
44
+ export {};
@@ -0,0 +1,115 @@
1
+ import { getNpmPath } from '@camera.ui/common/node';
2
+ import { TTLCache } from '@isaacs/ttlcache';
3
+ import { spawn } from 'node:child_process';
4
+ import { basename, dirname } from 'node:path';
5
+ import { platform } from 'node:os';
6
+ import npmFetch from 'npm-registry-fetch';
7
+ import pacote from 'pacote';
8
+ import { gt, parse } from 'semver';
9
+ import { resolveNpmOptions } from './auth.js';
10
+ const DEP_INSTALL_TIMEOUT_MS = 5 * 60 * 1000;
11
+ const PACKUMENT_TTL_MS = 60 * 1000;
12
+ const packumentCache = new TTLCache({ ttl: PACKUMENT_TTL_MS, max: 200 });
13
+ function npmOptions(extra) {
14
+ return { ...resolveNpmOptions(), ...extra };
15
+ }
16
+ export async function getPackument(name, options) {
17
+ const full = options?.full ?? false;
18
+ const key = `${full ? 'full' : 'abbr'}:${name}`;
19
+ if (!options?.refresh) {
20
+ const cached = packumentCache.get(key);
21
+ if (cached) {
22
+ return cached;
23
+ }
24
+ }
25
+ const packument = full
26
+ ? await pacote.packument(name, { ...npmOptions(), fullMetadata: true })
27
+ : await pacote.packument(name, npmOptions());
28
+ packumentCache.set(key, packument);
29
+ return packument;
30
+ }
31
+ export function invalidatePackage(name) {
32
+ if (!name) {
33
+ packumentCache.clear();
34
+ return;
35
+ }
36
+ packumentCache.delete(`abbr:${name}`);
37
+ packumentCache.delete(`full:${name}`);
38
+ }
39
+ export async function getDistTags(name) {
40
+ const packument = await getPackument(name);
41
+ return packument['dist-tags'] ?? {};
42
+ }
43
+ export async function getManifest(spec) {
44
+ return pacote.manifest(spec, npmOptions());
45
+ }
46
+ export async function getVersionsAndDistTags(name) {
47
+ const packument = await getPackument(name);
48
+ return {
49
+ versions: Object.keys(packument.versions ?? {}).reverse(),
50
+ 'dist-tags': packument['dist-tags'] ?? {},
51
+ };
52
+ }
53
+ export async function checkForUpdate(name, currentVersion, prereleaseTag = 'beta') {
54
+ const tags = await getDistTags(name);
55
+ const latest = tags.latest;
56
+ const prerelease = tags[prereleaseTag];
57
+ const updateAvailable = latest ? gt(latest, currentVersion) : false;
58
+ let betaUpdateAvailable = false;
59
+ if (!updateAvailable && prerelease) {
60
+ const parsed = parse(currentVersion);
61
+ if (parsed?.prerelease[0] === prereleaseTag && gt(prerelease, currentVersion)) {
62
+ betaUpdateAvailable = true;
63
+ }
64
+ }
65
+ const latestVersion = betaUpdateAvailable ? prerelease : latest;
66
+ return { updateAvailable, betaUpdateAvailable, latestVersion };
67
+ }
68
+ export async function searchPackages(query, size = 250) {
69
+ const result = (await npmFetch.json(`/-/v1/search?text=${encodeURIComponent(query)}&size=${size}`, npmOptions()));
70
+ return (result.objects ?? []).map((entry) => entry.package);
71
+ }
72
+ export async function extractPackage(spec, dest) {
73
+ await pacote.extract(spec, dest, npmOptions());
74
+ }
75
+ export function installDependencies(packageDir, onOutput) {
76
+ return new Promise((resolve, reject) => {
77
+ const npmCmd = getNpmPath()[0];
78
+ const args = ['install', '--omit=dev', '--include=prod', '--no-progress'];
79
+ const env = {
80
+ ...process.env,
81
+ NODE_ENV: 'production',
82
+ npm_config_update_notifier: 'false',
83
+ npm_config_prefer_online: 'true',
84
+ npm_config_progress: 'false',
85
+ npm_config_prefix: packageDir,
86
+ npm_config_color: 'always',
87
+ FORCE_COLOR: '1',
88
+ };
89
+ if (platform() !== 'win32' && basename(packageDir) === 'lib') {
90
+ env.npm_config_prefix = dirname(packageDir);
91
+ }
92
+ const child = spawn(npmCmd, args, { cwd: packageDir, env, stdio: ['ignore', 'pipe', 'pipe'] });
93
+ const handleChunk = (data) => onOutput?.(data.toString());
94
+ child.stdout.on('data', handleChunk);
95
+ child.stderr.on('data', handleChunk);
96
+ const timeoutTimer = setTimeout(() => {
97
+ child.kill('SIGTERM');
98
+ reject(new Error('Operation timed out after 5 minutes'));
99
+ }, DEP_INSTALL_TIMEOUT_MS);
100
+ child.on('close', (code) => {
101
+ clearTimeout(timeoutTimer);
102
+ if (code === 0) {
103
+ resolve();
104
+ }
105
+ else {
106
+ reject(new Error(`Operation failed with exit code ${code}. Please review log for details.`));
107
+ }
108
+ });
109
+ child.on('error', (err) => {
110
+ clearTimeout(timeoutTimer);
111
+ reject(new Error(`Failed to start process: ${err.message}`));
112
+ });
113
+ });
114
+ }
115
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/utils/npm/index.ts"],"names":[],"mappings":"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"}