xynginc 1.0.5 → 1.0.7
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 +1 -1
- package/bin/xynginc +0 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +48 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -147,7 +147,7 @@ interface XyNginCPluginOptions {
|
|
|
147
147
|
/** Automatically reload Nginx after configuration changes (default: true) */
|
|
148
148
|
autoReload?: boolean;
|
|
149
149
|
|
|
150
|
-
/** Custom path to the xynginc binary */
|
|
150
|
+
/** Custom path to the xynginc binary - recommended */
|
|
151
151
|
binaryPath?: string;
|
|
152
152
|
|
|
153
153
|
/** Automatically download the binary if missing (default: true) */
|
package/bin/xynginc
CHANGED
|
Binary file
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export interface XyNginCDomainConfig {
|
|
|
3
3
|
port: number;
|
|
4
4
|
ssl?: boolean;
|
|
5
5
|
email?: string;
|
|
6
|
+
host?: string;
|
|
6
7
|
}
|
|
7
8
|
export interface XyNginCConfig {
|
|
8
9
|
domains: XyNginCDomainConfig[];
|
|
@@ -15,6 +16,8 @@ interface XyNginCPluginOptions extends XyNginCConfig {
|
|
|
15
16
|
autoDownload?: boolean;
|
|
16
17
|
/** GitHub release version to download (default: "latest") */
|
|
17
18
|
version?: string;
|
|
19
|
+
/** Automatically install system requirements if missing (default: true) */
|
|
20
|
+
installRequirements?: boolean;
|
|
18
21
|
}
|
|
19
22
|
export default function XNCP(options: XyNginCPluginOptions): import("xypriss").XyPrissPlugin;
|
|
20
23
|
export type { XyNginCPluginOptions };
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,UAAU,oBAAqB,SAAQ,aAAa;IAClD,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAMD,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,OAAO,EAAE,oBAAoB,mCAqFzD;AAySD,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAGrC,eAAO,MAAM,OAAO,aAAO,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,10 +18,10 @@ const BINARY_NAME = "xynginc";
|
|
|
18
18
|
const GITHUB_REPO = "Nehonix-Team/xynginc";
|
|
19
19
|
const BINARY_DIR = path_1.default.join(__dirname, "../bin");
|
|
20
20
|
function XNCP(options) {
|
|
21
|
-
const { domains, autoReload = true, binaryPath, autoDownload = true, version = "latest", } = options;
|
|
21
|
+
const { domains, autoReload = true, binaryPath, autoDownload = true, version = "latest", installRequirements = true, } = options;
|
|
22
22
|
return xypriss_1.Plugin.create({
|
|
23
23
|
name: "xynginc",
|
|
24
|
-
version: "1.0.
|
|
24
|
+
version: "1.0.7",
|
|
25
25
|
description: "XyPriss Nginx Controller - Automatic Nginx & SSL management",
|
|
26
26
|
onRegister: async () => {
|
|
27
27
|
logger_1.Logger.info("[XyNginC] Registering plugin...");
|
|
@@ -37,7 +37,18 @@ function XNCP(options) {
|
|
|
37
37
|
logger_1.Logger.success(`[XyNginC] ✓ Binary located: ${binary}`);
|
|
38
38
|
// 2. Check system requirements
|
|
39
39
|
logger_1.Logger.info("[XyNginC] Checking system requirements...");
|
|
40
|
-
|
|
40
|
+
// Check if requirements are satisfied
|
|
41
|
+
const requirementsOk = await checkRequirements(binary);
|
|
42
|
+
// Install requirements if enabled and needed
|
|
43
|
+
if (!requirementsOk && installRequirements) {
|
|
44
|
+
logger_1.Logger.info("[XyNginC] Requirements missing, installing automatically...");
|
|
45
|
+
await installRequirementsHandler(binary);
|
|
46
|
+
logger_1.Logger.info("[XyNginC] Requirements installed, re-checking...");
|
|
47
|
+
await checkRequirements(binary);
|
|
48
|
+
}
|
|
49
|
+
else if (!requirementsOk) {
|
|
50
|
+
throw new Error("[XyNginC] System requirements not satisfied. Install with 'installRequirements: true' or run: sudo xynginc install");
|
|
51
|
+
}
|
|
41
52
|
// 3. Apply configuration
|
|
42
53
|
logger_1.Logger.info("[XyNginC] Applying configuration...");
|
|
43
54
|
await applyConfig(binary, { domains, auto_reload: autoReload });
|
|
@@ -50,6 +61,7 @@ function XNCP(options) {
|
|
|
50
61
|
reload: () => reloadNginx(binary),
|
|
51
62
|
test: () => testNginx(binary),
|
|
52
63
|
status: () => getStatus(binary),
|
|
64
|
+
installRequirements: () => installRequirementsHandler(binary),
|
|
53
65
|
};
|
|
54
66
|
logger_1.Logger.info("[XyNginC] Server methods available: server.xynginc.*");
|
|
55
67
|
}
|
|
@@ -83,6 +95,10 @@ function validateConfig(config) {
|
|
|
83
95
|
if (domain.ssl && !domain.email) {
|
|
84
96
|
throw new Error(`[XyNginC] Configuration error: 'email' is required when SSL is enabled for ${domain.domain}`);
|
|
85
97
|
}
|
|
98
|
+
// Set default host to localhost if not provided
|
|
99
|
+
if (!domain.host) {
|
|
100
|
+
domain.host = "localhost";
|
|
101
|
+
}
|
|
86
102
|
}
|
|
87
103
|
}
|
|
88
104
|
/**
|
|
@@ -178,9 +194,27 @@ async function checkRequirements(binaryPath) {
|
|
|
178
194
|
logger_1.Logger.info(stdout.trim());
|
|
179
195
|
if (stderr)
|
|
180
196
|
logger_1.Logger.error(stderr.trim());
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
logger_1.Logger.warn(`[XyNginC] System requirements check failed: ${error.message}`);
|
|
201
|
+
return false;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Install system requirements using the binary
|
|
206
|
+
*/
|
|
207
|
+
async function installRequirementsHandler(binaryPath) {
|
|
208
|
+
try {
|
|
209
|
+
logger_1.Logger.info("[XyNginC] Installing system requirements...");
|
|
210
|
+
const { stdout, stderr } = await execAsync(`sudo ${binaryPath} install`);
|
|
211
|
+
logger_1.Logger.info(stdout.trim());
|
|
212
|
+
if (stderr)
|
|
213
|
+
logger_1.Logger.error(stderr.trim());
|
|
214
|
+
logger_1.Logger.success("[XyNginC] ✓ System requirements installed successfully");
|
|
181
215
|
}
|
|
182
216
|
catch (error) {
|
|
183
|
-
throw new Error(`
|
|
217
|
+
throw new Error(`Failed to install system requirements: ${error.message}`);
|
|
184
218
|
}
|
|
185
219
|
}
|
|
186
220
|
/**
|
|
@@ -189,6 +223,12 @@ async function checkRequirements(binaryPath) {
|
|
|
189
223
|
async function applyConfig(binaryPath, config) {
|
|
190
224
|
const configJson = JSON.stringify(config);
|
|
191
225
|
try {
|
|
226
|
+
// Test nginx BEFORE applying new config
|
|
227
|
+
logger_1.Logger.info("[XyNginC] Testing current nginx config...");
|
|
228
|
+
const testResult = await testNginx(binaryPath);
|
|
229
|
+
if (!testResult) {
|
|
230
|
+
logger_1.Logger.warn("[XyNginC] ⚠️ Current nginx config has errors. Attempting to fix...");
|
|
231
|
+
}
|
|
192
232
|
// Pass config via stdin to avoid shell escaping issues
|
|
193
233
|
const { stdout, stderr } = await execAsync(`echo '${configJson}' | sudo ${binaryPath} apply --config -`);
|
|
194
234
|
logger_1.Logger.info(stdout.trim());
|
|
@@ -196,6 +236,10 @@ async function applyConfig(binaryPath, config) {
|
|
|
196
236
|
logger_1.Logger.error(stderr.trim());
|
|
197
237
|
}
|
|
198
238
|
catch (error) {
|
|
239
|
+
// If it fails, show more helpful error
|
|
240
|
+
logger_1.Logger.error(`[XyNginC] Failed to apply configuration: ${error.message}`);
|
|
241
|
+
logger_1.Logger.info("[XyNginC] Try running: sudo nginx -t");
|
|
242
|
+
logger_1.Logger.info("[XyNginC] Check: /etc/nginx/sites-enabled/");
|
|
199
243
|
throw new Error(`Failed to apply configuration: ${error.message}`);
|
|
200
244
|
}
|
|
201
245
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|