xypriss 1.3.0 → 1.3.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/cjs/shared/logger/Logger.js +1 -0
- package/dist/cjs/shared/logger/Logger.js.map +1 -1
- package/dist/cjs/src/cluster/memory-manager.js +29 -6
- package/dist/cjs/src/cluster/memory-manager.js.map +1 -1
- package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js +257 -0
- package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js.map +1 -0
- package/dist/cjs/src/plugins/server-maintenance-plugin.js +78 -13
- package/dist/cjs/src/plugins/server-maintenance-plugin.js.map +1 -1
- package/dist/esm/shared/logger/Logger.js +1 -0
- package/dist/esm/shared/logger/Logger.js.map +1 -1
- package/dist/esm/src/cluster/memory-manager.js +29 -6
- package/dist/esm/src/cluster/memory-manager.js.map +1 -1
- package/dist/esm/src/cluster/modules/CrossPlatformMemory.js +255 -0
- package/dist/esm/src/cluster/modules/CrossPlatformMemory.js.map +1 -0
- package/dist/esm/src/plugins/server-maintenance-plugin.js +78 -13
- package/dist/esm/src/plugins/server-maintenance-plugin.js.map +1 -1
- package/dist/index.d.ts +13 -2
- package/package.json +7 -2
- package/scripts/install-memory-cli.js +282 -0
- package/scripts/postinstall.js +31 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
import * as path from 'path';
|
|
4
|
+
import { CrossPlatformMemory } from '../cluster/modules/CrossPlatformMemory.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Server Maintenance Plugin
|
|
@@ -23,6 +24,7 @@ class ServerMaintenancePlugin extends EventEmitter {
|
|
|
23
24
|
this.errorCount = 0;
|
|
24
25
|
this.requestCount = 0;
|
|
25
26
|
this.responseTimes = [];
|
|
27
|
+
this.activeConnections = 0;
|
|
26
28
|
this.config = {
|
|
27
29
|
enabled: true,
|
|
28
30
|
checkInterval: 30000, // 30 seconds
|
|
@@ -37,6 +39,8 @@ class ServerMaintenancePlugin extends EventEmitter {
|
|
|
37
39
|
onMaintenanceComplete: () => { },
|
|
38
40
|
...config,
|
|
39
41
|
};
|
|
42
|
+
// Initialize cross-platform memory detection
|
|
43
|
+
this.crossPlatformMemory = new CrossPlatformMemory(true);
|
|
40
44
|
}
|
|
41
45
|
/**
|
|
42
46
|
* Initialize the plugin
|
|
@@ -48,6 +52,8 @@ class ServerMaintenancePlugin extends EventEmitter {
|
|
|
48
52
|
this.logger = logger;
|
|
49
53
|
// Install monitoring middleware
|
|
50
54
|
this.installMonitoringMiddleware();
|
|
55
|
+
// Setup connection tracking
|
|
56
|
+
this.setupConnectionTracking();
|
|
51
57
|
// Start background maintenance
|
|
52
58
|
this.startBackgroundMaintenance();
|
|
53
59
|
// Setup error handlers
|
|
@@ -78,6 +84,46 @@ class ServerMaintenancePlugin extends EventEmitter {
|
|
|
78
84
|
next();
|
|
79
85
|
});
|
|
80
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Setup connection tracking
|
|
89
|
+
*/
|
|
90
|
+
setupConnectionTracking() {
|
|
91
|
+
// Try to get server reference from app
|
|
92
|
+
if (this.app && this.app.server) {
|
|
93
|
+
this.server = this.app.server;
|
|
94
|
+
}
|
|
95
|
+
else if (this.app && this.app.listen) {
|
|
96
|
+
// Hook into the listen method to capture server
|
|
97
|
+
const originalListen = this.app.listen.bind(this.app);
|
|
98
|
+
this.app.listen = (...args) => {
|
|
99
|
+
const server = originalListen(...args);
|
|
100
|
+
this.server = server;
|
|
101
|
+
this.setupServerConnectionTracking(server);
|
|
102
|
+
return server;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
// If we already have a server, set up tracking
|
|
106
|
+
if (this.server) {
|
|
107
|
+
this.setupServerConnectionTracking(this.server);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Setup server connection event tracking
|
|
112
|
+
*/
|
|
113
|
+
setupServerConnectionTracking(server) {
|
|
114
|
+
if (!server || !server.on)
|
|
115
|
+
return;
|
|
116
|
+
server.on("connection", () => {
|
|
117
|
+
this.activeConnections++;
|
|
118
|
+
});
|
|
119
|
+
server.on("close", () => {
|
|
120
|
+
this.activeConnections = Math.max(0, this.activeConnections - 1);
|
|
121
|
+
});
|
|
122
|
+
// For HTTP/HTTPS servers, also track when connections end
|
|
123
|
+
server.on("clientError", () => {
|
|
124
|
+
this.activeConnections = Math.max(0, this.activeConnections - 1);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
81
127
|
/**
|
|
82
128
|
* Setup error handlers
|
|
83
129
|
*/
|
|
@@ -111,15 +157,20 @@ class ServerMaintenancePlugin extends EventEmitter {
|
|
|
111
157
|
* Start background maintenance checks
|
|
112
158
|
*/
|
|
113
159
|
startBackgroundMaintenance() {
|
|
114
|
-
this.maintenanceTimer = setInterval(() => {
|
|
115
|
-
|
|
160
|
+
this.maintenanceTimer = setInterval(async () => {
|
|
161
|
+
try {
|
|
162
|
+
await this.performMaintenanceCheck();
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
this.logger.error("plugins", "Maintenance check failed:", error);
|
|
166
|
+
}
|
|
116
167
|
}, this.config.checkInterval);
|
|
117
168
|
}
|
|
118
169
|
/**
|
|
119
170
|
* Perform comprehensive maintenance check
|
|
120
171
|
*/
|
|
121
|
-
performMaintenanceCheck() {
|
|
122
|
-
const metrics = this.collectHealthMetrics();
|
|
172
|
+
async performMaintenanceCheck() {
|
|
173
|
+
const metrics = await this.collectHealthMetrics();
|
|
123
174
|
this.healthHistory.push(metrics);
|
|
124
175
|
// Keep only last 100 health records
|
|
125
176
|
if (this.healthHistory.length > 100) {
|
|
@@ -137,12 +188,26 @@ class ServerMaintenancePlugin extends EventEmitter {
|
|
|
137
188
|
this.emit("health_check", metrics);
|
|
138
189
|
}
|
|
139
190
|
/**
|
|
140
|
-
* Collect current health metrics
|
|
191
|
+
* Collect current health metrics using CrossPlatformMemory CLI
|
|
141
192
|
*/
|
|
142
|
-
collectHealthMetrics() {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
193
|
+
async collectHealthMetrics() {
|
|
194
|
+
// Get system memory info using CrossPlatformMemory CLI
|
|
195
|
+
let memoryInfo;
|
|
196
|
+
try {
|
|
197
|
+
memoryInfo = await this.crossPlatformMemory.getMemoryInfo();
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
// Fallback to process memory if CLI fails
|
|
201
|
+
const memUsage = process.memoryUsage();
|
|
202
|
+
memoryInfo = {
|
|
203
|
+
totalMemory: memUsage.heapTotal + memUsage.external,
|
|
204
|
+
usedMemory: memUsage.heapUsed,
|
|
205
|
+
availableMemory: memUsage.heapTotal - memUsage.heapUsed,
|
|
206
|
+
usagePercentage: (memUsage.heapUsed /
|
|
207
|
+
(memUsage.heapTotal + memUsage.external)) *
|
|
208
|
+
100,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
146
211
|
const avgResponseTime = this.responseTimes.length > 0
|
|
147
212
|
? this.responseTimes.reduce((a, b) => a + b, 0) /
|
|
148
213
|
this.responseTimes.length
|
|
@@ -155,9 +220,9 @@ class ServerMaintenancePlugin extends EventEmitter {
|
|
|
155
220
|
: 0;
|
|
156
221
|
return {
|
|
157
222
|
memoryUsage: {
|
|
158
|
-
used: usedMemory,
|
|
159
|
-
total: totalMemory,
|
|
160
|
-
percentage:
|
|
223
|
+
used: memoryInfo.usedMemory,
|
|
224
|
+
total: memoryInfo.totalMemory,
|
|
225
|
+
percentage: memoryInfo.usagePercentage,
|
|
161
226
|
trend: this.calculateMemoryTrend(),
|
|
162
227
|
},
|
|
163
228
|
cpuUsage: process.cpuUsage().user / 1000000, // Convert to seconds
|
|
@@ -167,7 +232,7 @@ class ServerMaintenancePlugin extends EventEmitter {
|
|
|
167
232
|
p95: p95ResponseTime,
|
|
168
233
|
trend: this.calculateResponseTimeTrend(),
|
|
169
234
|
},
|
|
170
|
-
activeConnections:
|
|
235
|
+
activeConnections: this.activeConnections, // Real active connections count
|
|
171
236
|
uptime: Date.now() - this.startTime,
|
|
172
237
|
};
|
|
173
238
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-maintenance-plugin.js","sources":["../../../../src/plugins/server-maintenance-plugin.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server-maintenance-plugin.js","sources":["../../../../src/plugins/server-maintenance-plugin.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1192,7 +1192,7 @@ interface OptimizedRoute {
|
|
|
1192
1192
|
|
|
1193
1193
|
declare const LOG_LEVELS: readonly ["silent", "error", "warn", "info", "debug", "verbose"];
|
|
1194
1194
|
type LogLevel = (typeof LOG_LEVELS)[number];
|
|
1195
|
-
declare const LOG_COMPONENTS: readonly ["middleware", "server", "cache", "cluster", "performance", "fileWatcher", "plugins", "security", "monitoring", "routes", "userApp", "typescript", "console", "other", "router", "acpes", "ipc"];
|
|
1195
|
+
declare const LOG_COMPONENTS: readonly ["middleware", "server", "cache", "cluster", "performance", "fileWatcher", "plugins", "security", "monitoring", "routes", "userApp", "typescript", "console", "other", "router", "acpes", "ipc", "memory"];
|
|
1196
1196
|
type LogComponent = (typeof LOG_COMPONENTS)[number];
|
|
1197
1197
|
declare const LOG_TYPES: readonly ["startup", "warnings", "errors", "performance", "debug", "hotReload", "portSwitching"];
|
|
1198
1198
|
type LogType = (typeof LOG_TYPES)[number];
|
|
@@ -5744,6 +5744,9 @@ declare class ServerMaintenancePlugin extends EventEmitter {
|
|
|
5744
5744
|
private errorCount;
|
|
5745
5745
|
private requestCount;
|
|
5746
5746
|
private responseTimes;
|
|
5747
|
+
private crossPlatformMemory;
|
|
5748
|
+
private activeConnections;
|
|
5749
|
+
private server;
|
|
5747
5750
|
constructor(config?: MaintenanceConfig);
|
|
5748
5751
|
/**
|
|
5749
5752
|
* Initialize the plugin
|
|
@@ -5753,6 +5756,14 @@ declare class ServerMaintenancePlugin extends EventEmitter {
|
|
|
5753
5756
|
* Install middleware to monitor requests
|
|
5754
5757
|
*/
|
|
5755
5758
|
private installMonitoringMiddleware;
|
|
5759
|
+
/**
|
|
5760
|
+
* Setup connection tracking
|
|
5761
|
+
*/
|
|
5762
|
+
private setupConnectionTracking;
|
|
5763
|
+
/**
|
|
5764
|
+
* Setup server connection event tracking
|
|
5765
|
+
*/
|
|
5766
|
+
private setupServerConnectionTracking;
|
|
5756
5767
|
/**
|
|
5757
5768
|
* Setup error handlers
|
|
5758
5769
|
*/
|
|
@@ -5766,7 +5777,7 @@ declare class ServerMaintenancePlugin extends EventEmitter {
|
|
|
5766
5777
|
*/
|
|
5767
5778
|
private performMaintenanceCheck;
|
|
5768
5779
|
/**
|
|
5769
|
-
* Collect current health metrics
|
|
5780
|
+
* Collect current health metrics using CrossPlatformMemory CLI
|
|
5770
5781
|
*/
|
|
5771
5782
|
private collectHealthMetrics;
|
|
5772
5783
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xypriss",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"description": "XyPriss is a Node.js framework that extends Express.js with additional performance, security, and scalability features. Built with TypeScript, it maintains full Express.js compatibility while adding enterprise-level capabilities for production applications.",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -12,9 +12,13 @@
|
|
|
12
12
|
"dist/esm/**/*",
|
|
13
13
|
"dist/index.d.ts",
|
|
14
14
|
"README.md",
|
|
15
|
-
"LICENSE"
|
|
15
|
+
"LICENSE",
|
|
16
|
+
"scripts/**/*",
|
|
17
|
+
"scripts/postinstall.js"
|
|
16
18
|
],
|
|
17
19
|
"scripts": {
|
|
20
|
+
"postinstall": "node scripts/postinstall.js",
|
|
21
|
+
"install-memory-cli": "node scripts/install-memory-cli.js",
|
|
18
22
|
"build": "NODE_OPTIONS='--max-old-space-size=4096' npx rollup -c rollup.config.js",
|
|
19
23
|
"build:memory": "NODE_OPTIONS='--max-old-space-size=6144' npx rollup -c rollup.config.js",
|
|
20
24
|
"test": "jest",
|
|
@@ -254,3 +258,4 @@
|
|
|
254
258
|
"xypriss-security": "^1.0.9"
|
|
255
259
|
}
|
|
256
260
|
}
|
|
261
|
+
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* XyPriss Memory CLI Installer
|
|
5
|
+
* Downloads platform-specific memory CLI binary during npm install
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const https = require("https");
|
|
9
|
+
const fs = require("fs");
|
|
10
|
+
const path = require("path");
|
|
11
|
+
const { execSync } = require("child_process");
|
|
12
|
+
|
|
13
|
+
const CDN_BASE_URL = "https://sdk.nehonix.space/dl/mds/xypriss/bin";
|
|
14
|
+
const BIN_DIR = path.join(__dirname, "..", "bin");
|
|
15
|
+
const TIMEOUT = 30000; // 30 seconds
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Get platform-specific binary information
|
|
19
|
+
*/
|
|
20
|
+
function getPlatformBinary() {
|
|
21
|
+
const platform = process.platform;
|
|
22
|
+
const arch = process.arch;
|
|
23
|
+
|
|
24
|
+
let binaryName;
|
|
25
|
+
let downloadName;
|
|
26
|
+
|
|
27
|
+
if (platform === "win32") {
|
|
28
|
+
binaryName =
|
|
29
|
+
arch === "arm64"
|
|
30
|
+
? "memory-cli-windows-arm64.exe"
|
|
31
|
+
: "memory-cli-windows-x64.exe";
|
|
32
|
+
downloadName = binaryName;
|
|
33
|
+
} else if (platform === "darwin") {
|
|
34
|
+
binaryName =
|
|
35
|
+
arch === "arm64"
|
|
36
|
+
? "memory-cli-darwin-arm64"
|
|
37
|
+
: "memory-cli-darwin-x64";
|
|
38
|
+
downloadName = binaryName;
|
|
39
|
+
} else if (platform === "linux") {
|
|
40
|
+
binaryName = "memory-cli-linux-x64";
|
|
41
|
+
downloadName = binaryName;
|
|
42
|
+
} else {
|
|
43
|
+
console.warn(
|
|
44
|
+
`⚠️ Unsupported platform: ${platform}-${arch}. Memory CLI will use fallback mode.`
|
|
45
|
+
);
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return {
|
|
50
|
+
binaryName,
|
|
51
|
+
downloadName,
|
|
52
|
+
url: `${CDN_BASE_URL}/${downloadName}`,
|
|
53
|
+
localPath: path.join(BIN_DIR, binaryName),
|
|
54
|
+
genericPath: path.join(
|
|
55
|
+
BIN_DIR,
|
|
56
|
+
"memory-cli" + (platform === "win32" ? ".exe" : "")
|
|
57
|
+
),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Download file from URL
|
|
63
|
+
*/
|
|
64
|
+
function downloadFile(url, destination) {
|
|
65
|
+
return new Promise((resolve, reject) => {
|
|
66
|
+
console.log(`📥 Downloading ${url}...`);
|
|
67
|
+
|
|
68
|
+
const file = fs.createWriteStream(destination);
|
|
69
|
+
const request = https.get(url, { timeout: TIMEOUT }, (response) => {
|
|
70
|
+
if (response.statusCode === 200) {
|
|
71
|
+
response.pipe(file);
|
|
72
|
+
|
|
73
|
+
file.on("finish", () => {
|
|
74
|
+
file.close();
|
|
75
|
+
console.log(`✅ Downloaded to ${destination}`);
|
|
76
|
+
resolve();
|
|
77
|
+
});
|
|
78
|
+
} else if (
|
|
79
|
+
response.statusCode === 302 ||
|
|
80
|
+
response.statusCode === 301
|
|
81
|
+
) {
|
|
82
|
+
// Handle redirects
|
|
83
|
+
file.close();
|
|
84
|
+
fs.unlinkSync(destination);
|
|
85
|
+
downloadFile(response.headers.location, destination)
|
|
86
|
+
.then(resolve)
|
|
87
|
+
.catch(reject);
|
|
88
|
+
} else {
|
|
89
|
+
file.close();
|
|
90
|
+
fs.unlinkSync(destination);
|
|
91
|
+
reject(
|
|
92
|
+
new Error(
|
|
93
|
+
`HTTP ${response.statusCode}: ${response.statusMessage}`
|
|
94
|
+
)
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
request.on("error", (error) => {
|
|
100
|
+
file.close();
|
|
101
|
+
if (fs.existsSync(destination)) {
|
|
102
|
+
fs.unlinkSync(destination);
|
|
103
|
+
}
|
|
104
|
+
reject(error);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
request.on("timeout", () => {
|
|
108
|
+
request.destroy();
|
|
109
|
+
file.close();
|
|
110
|
+
if (fs.existsSync(destination)) {
|
|
111
|
+
fs.unlinkSync(destination);
|
|
112
|
+
}
|
|
113
|
+
reject(new Error("Download timeout"));
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Make file executable (Unix-like systems)
|
|
120
|
+
*/
|
|
121
|
+
function makeExecutable(filePath) {
|
|
122
|
+
if (process.platform !== "win32") {
|
|
123
|
+
try {
|
|
124
|
+
execSync(`chmod +x "${filePath}"`);
|
|
125
|
+
console.log(`🔧 Made ${filePath} executable`);
|
|
126
|
+
} catch (error) {
|
|
127
|
+
console.warn(
|
|
128
|
+
`⚠️ Failed to make ${filePath} executable:`,
|
|
129
|
+
error.message
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Verify downloaded binary works
|
|
137
|
+
*/
|
|
138
|
+
function verifyBinary(filePath) {
|
|
139
|
+
return new Promise((resolve) => {
|
|
140
|
+
try {
|
|
141
|
+
const { spawn } = require("child_process");
|
|
142
|
+
const child = spawn(filePath, ["--help"], {
|
|
143
|
+
stdio: "pipe",
|
|
144
|
+
timeout: 5000,
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
let output = "";
|
|
148
|
+
child.stdout.on("data", (data) => {
|
|
149
|
+
output += data.toString();
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
child.on("close", (code) => {
|
|
153
|
+
if (code === 0 && output.includes("XyPriss Memory Info CLI")) {
|
|
154
|
+
console.log(`✅ Binary verification successful`);
|
|
155
|
+
resolve(true);
|
|
156
|
+
} else {
|
|
157
|
+
console.warn(
|
|
158
|
+
`⚠️ Binary verification failed (exit code: ${code})`
|
|
159
|
+
);
|
|
160
|
+
resolve(false);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
|
|
164
|
+
child.on("error", () => {
|
|
165
|
+
resolve(false);
|
|
166
|
+
});
|
|
167
|
+
} catch (error) {
|
|
168
|
+
resolve(false);
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Main installation function
|
|
175
|
+
*/
|
|
176
|
+
async function installMemoryCLI() {
|
|
177
|
+
console.log("🚀 Installing XyPriss Memory CLI...");
|
|
178
|
+
|
|
179
|
+
// Create bin directory if it doesn't exist
|
|
180
|
+
if (!fs.existsSync(BIN_DIR)) {
|
|
181
|
+
fs.mkdirSync(BIN_DIR, { recursive: true });
|
|
182
|
+
console.log(`📁 Created bin directory: ${BIN_DIR}`);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
const binaryInfo = getPlatformBinary();
|
|
186
|
+
if (!binaryInfo) {
|
|
187
|
+
console.log(
|
|
188
|
+
"⚠️ No binary available for this platform. Using fallback mode."
|
|
189
|
+
);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
try {
|
|
194
|
+
// Download the binary
|
|
195
|
+
await downloadFile(binaryInfo.url, binaryInfo.localPath);
|
|
196
|
+
|
|
197
|
+
// Make it executable
|
|
198
|
+
makeExecutable(binaryInfo.localPath);
|
|
199
|
+
|
|
200
|
+
// Create a generic symlink/copy for easier access
|
|
201
|
+
if (!fs.existsSync(binaryInfo.genericPath)) {
|
|
202
|
+
if (process.platform === "win32") {
|
|
203
|
+
// On Windows, copy the file
|
|
204
|
+
fs.copyFileSync(binaryInfo.localPath, binaryInfo.genericPath);
|
|
205
|
+
} else {
|
|
206
|
+
// On Unix-like systems, create a symlink
|
|
207
|
+
fs.symlinkSync(
|
|
208
|
+
path.basename(binaryInfo.localPath),
|
|
209
|
+
binaryInfo.genericPath
|
|
210
|
+
);
|
|
211
|
+
}
|
|
212
|
+
console.log(
|
|
213
|
+
`🔗 Created generic binary link: ${binaryInfo.genericPath}`
|
|
214
|
+
);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// Verify the binary works
|
|
218
|
+
const isValid = await verifyBinary(binaryInfo.localPath);
|
|
219
|
+
if (!isValid) {
|
|
220
|
+
console.warn(
|
|
221
|
+
"⚠️ Binary verification failed. Memory CLI will use fallback mode."
|
|
222
|
+
);
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
console.log("🎉 XyPriss Memory CLI installed successfully!");
|
|
227
|
+
console.log(`📍 Binary location: ${binaryInfo.localPath}`);
|
|
228
|
+
} catch (error) {
|
|
229
|
+
console.error("❌ Failed to install Memory CLI:", error.message);
|
|
230
|
+
console.log("📝 Memory CLI will use fallback mode (Node.js os module)");
|
|
231
|
+
|
|
232
|
+
// Clean up partial downloads
|
|
233
|
+
if (fs.existsSync(binaryInfo.localPath)) {
|
|
234
|
+
try {
|
|
235
|
+
fs.unlinkSync(binaryInfo.localPath);
|
|
236
|
+
} catch (cleanupError) {
|
|
237
|
+
// Ignore cleanup errors
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Check if we should skip installation
|
|
245
|
+
*/
|
|
246
|
+
function shouldSkipInstall() {
|
|
247
|
+
// Skip if CI environment variable is set to avoid network calls in CI
|
|
248
|
+
if (
|
|
249
|
+
process.env.CI === "true" ||
|
|
250
|
+
process.env.SKIP_BINARY_DOWNLOAD === "true"
|
|
251
|
+
) {
|
|
252
|
+
console.log("⏭️ Skipping binary download (CI environment detected)");
|
|
253
|
+
return true;
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// Skip if binary already exists and is valid
|
|
257
|
+
const binaryInfo = getPlatformBinary();
|
|
258
|
+
if (binaryInfo && fs.existsSync(binaryInfo.localPath)) {
|
|
259
|
+
console.log("✅ Memory CLI binary already exists");
|
|
260
|
+
return true;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
// Run installation if this script is executed directly
|
|
267
|
+
if (require.main === module) {
|
|
268
|
+
if (!shouldSkipInstall()) {
|
|
269
|
+
installMemoryCLI().catch((error) => {
|
|
270
|
+
console.error("💥 Installation failed:", error);
|
|
271
|
+
process.exit(0); // Don't fail npm install if binary download fails
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
module.exports = {
|
|
277
|
+
installMemoryCLI,
|
|
278
|
+
getPlatformBinary,
|
|
279
|
+
downloadFile,
|
|
280
|
+
verifyBinary,
|
|
281
|
+
};
|
|
282
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* XyPriss Post-Install Script
|
|
5
|
+
* Runs after npm install to set up platform-specific binaries
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const { installMemoryCLI } = require('./install-memory-cli');
|
|
9
|
+
|
|
10
|
+
async function postInstall() {
|
|
11
|
+
console.log('🔧 Running XyPriss post-install setup...');
|
|
12
|
+
|
|
13
|
+
try {
|
|
14
|
+
await installMemoryCLI();
|
|
15
|
+
console.log('✅ XyPriss setup complete!');
|
|
16
|
+
} catch (error) {
|
|
17
|
+
console.warn('⚠️ Post-install setup encountered issues:', error.message);
|
|
18
|
+
console.log('📝 XyPriss will continue to work with fallback mode.');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Only run if this is the main module (not being required)
|
|
23
|
+
if (require.main === module) {
|
|
24
|
+
postInstall().catch((error) => {
|
|
25
|
+
console.error('💥 Post-install failed:', error);
|
|
26
|
+
// Don't exit with error code to avoid breaking npm install
|
|
27
|
+
process.exit(0);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
module.exports = { postInstall };
|