@drocketxx/pm2me 1.1.16 → 1.1.17

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.
@@ -1021,27 +1021,32 @@ router.get('/system/version-check', async (req, res) => {
1021
1021
  try {
1022
1022
  // Read local version from root package.json (two levels up from backend/routes/)
1023
1023
  let localVersion = 'unknown';
1024
+ let packageName = '@drocketxx/pm2me';
1024
1025
  try {
1025
1026
  const pkgPath = path.resolve(__dirname, '../../package.json');
1026
1027
  const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
1027
1028
  localVersion = pkg.version || 'unknown';
1029
+ packageName = pkg.name || packageName;
1028
1030
  } catch { }
1029
1031
 
1030
- // Fetch latest release from GitHub
1032
+ // Fetch latest version from npm registry
1031
1033
  let latest = null, releaseUrl = null, changelog = '';
1032
1034
  try {
1033
- const response = await fetch('https://api.github.com/repos/drocketxx/PM2Me/releases/latest', {
1035
+ const response = await fetch(`https://registry.npmjs.org/${packageName}/latest`, {
1034
1036
  headers: { 'User-Agent': 'pm2me-updater' }
1035
1037
  });
1036
1038
  if (response.ok) {
1037
1039
  const data = await response.json();
1038
- latest = data.tag_name?.replace(/^v/, '') || null;
1039
- releaseUrl = data.html_url || null;
1040
- changelog = data.body || '';
1040
+ latest = data.version || null;
1041
+ releaseUrl = data.homepage || `https://www.npmjs.com/package/${packageName}`;
1042
+ changelog = data.description || '';
1041
1043
  }
1042
- } catch { }
1044
+ } catch (err) {
1045
+ console.error('Failed to fetch npm version:', err);
1046
+ }
1043
1047
 
1044
- const hasUpdate = latest && localVersion !== 'unknown' && latest !== localVersion;
1048
+ const hasUpdate = latest && localVersion !== 'unknown' && latest !== localVersion &&
1049
+ latest.localeCompare(localVersion, undefined, { numeric: true, sensitivity: 'base' }) > 0;
1045
1050
  res.json({ current: localVersion, latest, hasUpdate, releaseUrl, changelog });
1046
1051
  } catch (err) {
1047
1052
  res.status(500).json({ error: err.message });
@@ -1054,7 +1059,7 @@ router.post('/system/update', async (req, res) => {
1054
1059
  const isGlobal = !fs.existsSync(path.resolve(__dirname, '../../.git'));
1055
1060
  let cmd, cwd;
1056
1061
  if (isGlobal) {
1057
- cmd = 'npm install -g pm2me@latest';
1062
+ cmd = 'npm install -g @drocketxx/pm2me@latest && pm2me service uninstall && pm2me service install';
1058
1063
  cwd = '/';
1059
1064
  } else {
1060
1065
  cmd = 'git pull origin main && npm run build';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drocketxx/pm2me",
3
- "version": "1.1.16",
3
+ "version": "1.1.17",
4
4
  "description": "PM2 Deployment and Management System — Web UI for PM2 process management",
5
5
  "type": "module",
6
6
  "main": "backend/app.js",