xynginc 1.0.80 → 1.0.82

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 (44) hide show
  1. package/README.md +11 -3
  2. package/bin/xynginc +0 -0
  3. package/dist/constant.d.ts +0 -1
  4. package/dist/constant.js +4 -11
  5. package/dist/downloadBinary.d.ts +0 -1
  6. package/dist/downloadBinary.js +15 -52
  7. package/dist/ensureBinary.d.ts +0 -1
  8. package/dist/ensureBinary.js +14 -21
  9. package/dist/execAsync.d.ts +0 -1
  10. package/dist/execAsync.js +3 -7
  11. package/dist/index.d.ts +0 -1
  12. package/dist/index.js +19 -22
  13. package/dist/logger.d.ts +0 -1
  14. package/dist/logger.js +9 -14
  15. package/dist/requirements.d.ts +1 -1
  16. package/dist/requirements.js +40 -52
  17. package/dist/startPlugin.d.ts +1 -1
  18. package/dist/startPlugin.js +34 -34
  19. package/dist/types.d.ts +5 -1
  20. package/dist/types.js +1 -3
  21. package/dist/validateConfig.d.ts +0 -1
  22. package/dist/validateConfig.js +1 -5
  23. package/package.json +35 -35
  24. package/xypriss.plugin.xsig +11 -0
  25. package/dist/constant.d.ts.map +0 -1
  26. package/dist/constant.js.map +0 -1
  27. package/dist/downloadBinary.d.ts.map +0 -1
  28. package/dist/downloadBinary.js.map +0 -1
  29. package/dist/ensureBinary.d.ts.map +0 -1
  30. package/dist/ensureBinary.js.map +0 -1
  31. package/dist/execAsync.d.ts.map +0 -1
  32. package/dist/execAsync.js.map +0 -1
  33. package/dist/index.d.ts.map +0 -1
  34. package/dist/index.js.map +0 -1
  35. package/dist/logger.d.ts.map +0 -1
  36. package/dist/logger.js.map +0 -1
  37. package/dist/requirements.d.ts.map +0 -1
  38. package/dist/requirements.js.map +0 -1
  39. package/dist/startPlugin.d.ts.map +0 -1
  40. package/dist/startPlugin.js.map +0 -1
  41. package/dist/types.d.ts.map +0 -1
  42. package/dist/types.js.map +0 -1
  43. package/dist/validateConfig.d.ts.map +0 -1
  44. package/dist/validateConfig.js.map +0 -1
package/README.md CHANGED
@@ -144,6 +144,9 @@ interface XyNginCPluginOptions {
144
144
 
145
145
  /** Password to execute sudo commands silently in background environments like PM2 */
146
146
  sudoPassword?: string;
147
+
148
+ /** Automatically open Port 80 and 443 in the firewall (UFW) if they are blocked (default: false) */
149
+ autoFixFirewall?: boolean;
147
150
  }
148
151
  ```
149
152
 
@@ -218,7 +221,8 @@ sudo xynginc status
218
221
  "email": "admin@example.com"
219
222
  }
220
223
  ],
221
- "auto_reload": true
224
+ "auto_reload": true,
225
+ "autofix_firewall": true
222
226
  }
223
227
  ```
224
228
 
@@ -239,8 +243,12 @@ XyNginC requires elevated privileges to perform the following actions:
239
243
  - Executing `certbot` for SSL certificate generation
240
244
  - Reloading the Nginx service
241
245
 
242
- **Note**: Ensure your XyPriss server is started with `sudo` privileges when using this plugin, or configure `sudoers` to allow specific commands for the user.
243
- Alternatively, if your application runs in the background (e.g. using PM2), you can configure the plugin with the `sudoPassword` option or the `SUDO_PASSWORD` environment variable, to inject the password implicitly without an interactive prompt.
246
+ **Security Note**: XyNginC requires elevated privileges to manage Nginx and Firewall rules.
247
+
248
+ - **Sudoers**: We recommend configuring `sudoers` to allow specific commands for the user.
249
+ - **Sudo Password**: If your application runs in the background (e.g. using PM2), you can use the `sudoPassword` option or the `SUDO_PASSWORD` environment variable.
250
+ - **Reassurance**: The password is used **only** to execute the local `xynginc` binary and system commands like `ufw` or `service`. It is never stored, logged, or transmitted outside of your server.
251
+ - **Firewall**: The `autoFixFirewall` option allows XyNginC to automatically detect and open Port 80/443 if `ufw` is active. This is useful for automated SSL validation.
244
252
 
245
253
  ## Troubleshooting
246
254
 
package/bin/xynginc CHANGED
Binary file
@@ -1,4 +1,3 @@
1
1
  export declare const BINARY_NAME = "xynginc";
2
2
  export declare const GITHUB_REPO = "Nehonix-Team/xynginc";
3
3
  export declare const BINARY_DIR: string;
4
- //# sourceMappingURL=constant.d.ts.map
package/dist/constant.js CHANGED
@@ -1,11 +1,4 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.BINARY_DIR = exports.GITHUB_REPO = exports.BINARY_NAME = void 0;
7
- const path_1 = __importDefault(require("path"));
8
- exports.BINARY_NAME = "xynginc";
9
- exports.GITHUB_REPO = "Nehonix-Team/xynginc";
10
- exports.BINARY_DIR = path_1.default.join(__dirname, "../bin");
11
- //# sourceMappingURL=constant.js.map
1
+ import path from "path";
2
+ export const BINARY_NAME = "xynginc";
3
+ export const GITHUB_REPO = "Nehonix-Team/xynginc";
4
+ export const BINARY_DIR = path.join(__dirname, "../bin");
@@ -5,4 +5,3 @@
5
5
  * @returns The path to the downloaded binary.
6
6
  */
7
7
  export declare function downloadBinary(version: string): Promise<string>;
8
- //# sourceMappingURL=downloadBinary.d.ts.map
@@ -1,67 +1,31 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.downloadBinary = downloadBinary;
37
- const logger_1 = require("./logger");
38
- const https = __importStar(require("https"));
39
- const fs = __importStar(require("fs"));
40
- const path = __importStar(require("path"));
41
- const os = __importStar(require("os"));
42
- const constant_1 = require("./constant");
1
+ import { Logger } from "./logger";
2
+ import * as https from "https";
3
+ import * as fs from "fs";
4
+ import * as path from "path";
5
+ import * as os from "os";
6
+ import { BINARY_NAME, BINARY_DIR, GITHUB_REPO } from "./constant";
43
7
  /**
44
8
  * Downloads the xynginc binary from GitHub releases.
45
9
  *
46
10
  * @param version - The version to download (e.g., "latest" or "v1.4.5").
47
11
  * @returns The path to the downloaded binary.
48
12
  */
49
- async function downloadBinary(version) {
13
+ export async function downloadBinary(version) {
50
14
  const platform = os.platform();
51
15
  const arch = os.arch();
52
16
  if (platform !== "linux") {
53
17
  throw new Error(`[XyNginC] Unsupported platform: ${platform}. Only Linux is supported.`);
54
18
  }
55
- const binaryName = `${constant_1.BINARY_NAME}-${platform}-${arch}`;
19
+ const binaryName = `${BINARY_NAME}-${platform}-${arch}`;
56
20
  const downloadUrl = version === "latest"
57
- ? `https://github.com/${constant_1.GITHUB_REPO}/releases/latest/download/${binaryName}`
58
- : `https://github.com/${constant_1.GITHUB_REPO}/releases/download/${version}/${binaryName}`;
59
- logger_1.Logger.info(`[XyNginC] Downloading from: ${downloadUrl}`);
21
+ ? `https://github.com/${GITHUB_REPO}/releases/latest/download/${binaryName}`
22
+ : `https://github.com/${GITHUB_REPO}/releases/download/${version}/${binaryName}`;
23
+ Logger.info(`[XyNginC] Downloading from: ${downloadUrl}`);
60
24
  // Create bin directory
61
- if (!fs.existsSync(constant_1.BINARY_DIR)) {
62
- fs.mkdirSync(constant_1.BINARY_DIR, { recursive: true });
25
+ if (!fs.existsSync(BINARY_DIR)) {
26
+ fs.mkdirSync(BINARY_DIR, { recursive: true });
63
27
  }
64
- const localPath = path.join(constant_1.BINARY_DIR, constant_1.BINARY_NAME);
28
+ const localPath = path.join(BINARY_DIR, BINARY_NAME);
65
29
  return new Promise((resolve, reject) => {
66
30
  function download(url) {
67
31
  https
@@ -82,7 +46,7 @@ async function downloadBinary(version) {
82
46
  file.on("finish", () => {
83
47
  file.close();
84
48
  fs.chmodSync(localPath, 0o755); // Make executable
85
- logger_1.Logger.success("[XyNginC] ✓ Binary downloaded successfully");
49
+ Logger.success("[XyNginC] ✓ Binary downloaded successfully");
86
50
  resolve(localPath);
87
51
  });
88
52
  })
@@ -95,4 +59,3 @@ async function downloadBinary(version) {
95
59
  download(downloadUrl);
96
60
  });
97
61
  }
98
- //# sourceMappingURL=downloadBinary.js.map
@@ -9,4 +9,3 @@
9
9
  * @returns The absolute path to the binary.
10
10
  */
11
11
  export declare function ensureBinary(customPath: string | undefined, autoDownload: boolean, version: string): Promise<string>;
12
- //# sourceMappingURL=ensureBinary.d.ts.map
@@ -1,15 +1,9 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ensureBinary = ensureBinary;
7
- const fs_1 = __importDefault(require("fs"));
8
- const path_1 = __importDefault(require("path"));
9
- const logger_1 = require("./logger");
10
- const execAsync_1 = require("./execAsync");
11
- const constant_1 = require("./constant");
12
- const downloadBinary_1 = require("./downloadBinary");
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { Logger } from "./logger";
4
+ import { execAsync } from "./execAsync";
5
+ import { BINARY_DIR, BINARY_NAME } from "./constant";
6
+ import { downloadBinary } from "./downloadBinary";
13
7
  /**
14
8
  * Ensures the xynginc binary exists.
15
9
  * It checks the custom path, the system PATH, and the local bin directory.
@@ -20,16 +14,16 @@ const downloadBinary_1 = require("./downloadBinary");
20
14
  * @param version - The version to download.
21
15
  * @returns The absolute path to the binary.
22
16
  */
23
- async function ensureBinary(customPath, autoDownload, version) {
17
+ export async function ensureBinary(customPath, autoDownload, version) {
24
18
  // 1. Try custom path
25
- if (customPath && fs_1.default.existsSync(customPath)) {
19
+ if (customPath && fs.existsSync(customPath)) {
26
20
  return customPath;
27
21
  }
28
22
  // 2. Try PATH
29
23
  try {
30
- const { stdout } = await (0, execAsync_1.execAsync)("which xynginc");
24
+ const { stdout } = await execAsync("which xynginc");
31
25
  const globalPath = stdout.trim();
32
- if (globalPath && fs_1.default.existsSync(globalPath)) {
26
+ if (globalPath && fs.existsSync(globalPath)) {
33
27
  return globalPath;
34
28
  }
35
29
  }
@@ -37,15 +31,14 @@ async function ensureBinary(customPath, autoDownload, version) {
37
31
  // Not in PATH
38
32
  }
39
33
  // 3. Try local bin directory
40
- const localPath = path_1.default.join(constant_1.BINARY_DIR, constant_1.BINARY_NAME);
41
- if (fs_1.default.existsSync(localPath)) {
34
+ const localPath = path.join(BINARY_DIR, BINARY_NAME);
35
+ if (fs.existsSync(localPath)) {
42
36
  return localPath;
43
37
  }
44
38
  // 4. Auto-download if enabled
45
39
  if (autoDownload) {
46
- logger_1.Logger.info("[XyNginC] Binary not found, downloading...");
47
- return await (0, downloadBinary_1.downloadBinary)(version);
40
+ Logger.info("[XyNginC] Binary not found, downloading...");
41
+ return await downloadBinary(version);
48
42
  }
49
43
  throw new Error("[XyNginC] Binary not found. Install xynginc or set 'autoDownload: true'");
50
44
  }
51
- //# sourceMappingURL=ensureBinary.js.map
@@ -1,3 +1,2 @@
1
1
  import { exec } from "child_process";
2
2
  export declare const execAsync: typeof exec.__promisify__;
3
- //# sourceMappingURL=execAsync.d.ts.map
package/dist/execAsync.js CHANGED
@@ -1,7 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.execAsync = void 0;
4
- const child_process_1 = require("child_process");
5
- const util_1 = require("util");
6
- exports.execAsync = (0, util_1.promisify)(child_process_1.exec);
7
- //# sourceMappingURL=execAsync.js.map
1
+ import { exec } from "child_process";
2
+ import { promisify } from "util";
3
+ export const execAsync = promisify(exec);
package/dist/index.d.ts CHANGED
@@ -9,4 +9,3 @@ import { XyNginCConfig, XyNginCDomainConfig, XyNginCPluginOptions } from "./type
9
9
  export default function XNCP(options: XyNginCPluginOptions): import("xypriss").XyPrissPlugin;
10
10
  export type { XyNginCConfig, XyNginCDomainConfig, XyNginCPluginOptions };
11
11
  export declare const XyNginC: typeof XNCP;
12
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,16 +1,12 @@
1
- "use strict";
2
1
  /*
3
2
  * This code contains proprietary source code from NEHONIX
4
3
  * Copyright © 2025 NEHONIX - www.nehonix.com
5
4
  * Licensed under NEHONIX Open Source License (NOSL) v1.0
6
5
  */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.XyNginC = void 0;
9
- exports.default = XNCP;
10
- const xypriss_1 = require("xypriss");
11
- const logger_1 = require("./logger");
12
- const validateConfig_1 = require("./validateConfig");
13
- const startPlugin_1 = require("./startPlugin");
6
+ import { Plugin } from "xypriss";
7
+ import { Logger } from "./logger";
8
+ import { validateConfig } from "./validateConfig";
9
+ import { startXNCPlugin } from "./startPlugin";
14
10
  /**
15
11
  * XyNginC Plugin for XyPriss.
16
12
  * Automates Nginx and SSL management for your server.
@@ -18,21 +14,23 @@ const startPlugin_1 = require("./startPlugin");
18
14
  * @param options - Plugin configuration options.
19
15
  * @returns A XyPriss Plugin instance.
20
16
  */
21
- function XNCP(options) {
22
- const { domains, autoReload = true, binaryPath, autoDownload = true, version = "latest", installRequirements = true, sudoPassword, } = options;
23
- return xypriss_1.Plugin.create({
24
- name: "xynginc",
25
- version: "1.0.70",
26
- description: "XyPriss Nginx Controller - Automatic Nginx & SSL management",
27
- onRegister: async (server) => {
28
- logger_1.Logger.info("[XyNginC] Registering plugin...");
29
- (0, validateConfig_1.validateConfig)({ domains, autoReload });
17
+ export default function XNCP(options) {
18
+ const { domains, autoReload = true, autoFixFirewall = false, binaryPath, autoDownload = true, version = "latest", installRequirements = true, sudoPassword, } = options;
19
+ const meta = Plugin.manifest(__sys__);
20
+ return Plugin.create({
21
+ name: meta.name,
22
+ version: meta.version,
23
+ description: meta.description,
24
+ onRegister: async (_server) => {
25
+ Logger.info("[XyNginC] Registering plugin...");
26
+ validateConfig({ domains, autoReload, autoFixFirewall });
30
27
  },
31
28
  onServerStart: async (_server) => {
32
29
  // Validate config
33
- await (0, startPlugin_1.startXNCPlugin)(_server, {
30
+ await startXNCPlugin(_server, {
34
31
  autoDownload,
35
32
  autoReload,
33
+ autoFixFirewall,
36
34
  binaryPath: binaryPath,
37
35
  version,
38
36
  domains,
@@ -41,10 +39,9 @@ function XNCP(options) {
41
39
  });
42
40
  },
43
41
  onServerStop: async () => {
44
- logger_1.Logger.info("[XyNginC] Shutting down Nginx Controller...");
42
+ Logger.info("[XyNginC] Shutting down Nginx Controller...");
45
43
  },
46
- });
44
+ }, __sys__.__root__);
47
45
  }
48
46
  // Named exports for direct usage
49
- exports.XyNginC = XNCP;
50
- //# sourceMappingURL=index.js.map
47
+ export const XyNginC = XNCP;
package/dist/logger.d.ts CHANGED
@@ -7,4 +7,3 @@ export declare class Logger {
7
7
  static success(message: string): void;
8
8
  static debug(message: string): void;
9
9
  }
10
- //# sourceMappingURL=logger.d.ts.map
package/dist/logger.js CHANGED
@@ -1,7 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Logger = void 0;
4
- class Logger {
1
+ export class Logger {
2
+ static reset = "\x1b[0m";
3
+ static colors = {
4
+ info: "\x1b[34m", // Blue
5
+ error: "\x1b[31m", // Red
6
+ warn: "\x1b[33m", // Yellow
7
+ success: "\x1b[32m", // Green
8
+ debug: "\x1b[36m", // Cyan
9
+ };
5
10
  static info(message) {
6
11
  console.log(`${this.colors.info}${message}${this.reset}`);
7
12
  }
@@ -18,13 +23,3 @@ class Logger {
18
23
  console.log(`${this.colors.debug}${message}${this.reset}`);
19
24
  }
20
25
  }
21
- exports.Logger = Logger;
22
- Logger.reset = "\x1b[0m";
23
- Logger.colors = {
24
- info: "\x1b[34m", // Blue
25
- error: "\x1b[31m", // Red
26
- warn: "\x1b[33m", // Yellow
27
- success: "\x1b[32m", // Green
28
- debug: "\x1b[36m", // Cyan
29
- };
30
- //# sourceMappingURL=logger.js.map
@@ -16,6 +16,7 @@ export declare function installRequirementsHandler(binaryPath: string, sudoCmd:
16
16
  export declare function applyConfig(binaryPath: string, config: {
17
17
  domains: XyNginCDomainConfig[];
18
18
  auto_reload: boolean;
19
+ auto_fix_firewall: boolean;
19
20
  }, sudoCmd: string): Promise<void>;
20
21
  /**
21
22
  * Adds a new domain configuration using the binary.
@@ -81,4 +82,3 @@ export declare function checkRequirements(binaryPath: string, sudoCmd: string):
81
82
  * preserving ANSI color codes printed by the Go binary.
82
83
  */
83
84
  export declare function execStream(command: string): Promise<void>;
84
- //# sourceMappingURL=requirements.d.ts.map
@@ -1,41 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.installRequirementsHandler = installRequirementsHandler;
4
- exports.applyConfig = applyConfig;
5
- exports.addDomain = addDomain;
6
- exports.removeDomain = removeDomain;
7
- exports.listDomains = listDomains;
8
- exports.reloadNginx = reloadNginx;
9
- exports.testNginx = testNginx;
10
- exports.getStatus = getStatus;
11
- exports.checkRequirements = checkRequirements;
12
- exports.execStream = execStream;
13
- const logger_1 = require("./logger");
14
- const child_process_1 = require("child_process");
15
- const execAsync_1 = require("./execAsync");
16
- const xypriss_security_1 = require("xypriss-security");
1
+ import { Logger } from "./logger";
2
+ import { spawn } from "child_process";
3
+ import { execAsync } from "./execAsync";
4
+ import { XStringify } from "xypriss-security";
17
5
  /**
18
6
  * Installs system requirements using the binary in interactive mode.
19
7
  *
20
8
  * @param binaryPath - Path to the xynginc binary.
21
9
  * @param sudoCmd - Sudo prefix to use.
22
10
  */
23
- async function installRequirementsHandler(binaryPath, sudoCmd) {
11
+ export async function installRequirementsHandler(binaryPath, sudoCmd) {
24
12
  return new Promise((resolve, reject) => {
25
- logger_1.Logger.info("[XyNginC] Launching interactive installer...");
26
- logger_1.Logger.info("[XyNginC] Please respond to any prompts in the terminal.");
13
+ Logger.info("[XyNginC] Launching interactive installer...");
14
+ Logger.info("[XyNginC] Please respond to any prompts in the terminal.");
27
15
  // Handle process environmental logic if running via non-interactive sudo -S
28
16
  const cmd = sudoCmd.includes("-S")
29
17
  ? `${sudoCmd} ${binaryPath} install`
30
18
  : `sudo ${binaryPath} install`;
31
19
  // Spawn the process with inherited stdio for full interactivity
32
- const installProcess = (0, child_process_1.spawn)(cmd, {
20
+ const installProcess = spawn(cmd, {
33
21
  stdio: "inherit", // This allows the subprocess to use the parent's stdin/stdout/stderr
34
22
  shell: true,
35
23
  });
36
24
  installProcess.on("close", (code) => {
37
25
  if (code === 0) {
38
- logger_1.Logger.success("[XyNginC] ✓ System requirements installed successfully");
26
+ Logger.success("[XyNginC] ✓ System requirements installed successfully");
39
27
  resolve();
40
28
  }
41
29
  else {
@@ -54,10 +42,11 @@ async function installRequirementsHandler(binaryPath, sudoCmd) {
54
42
  * @param config - The configuration object.
55
43
  * @param sudoCmd - Sudo prefix to use.
56
44
  */
57
- async function applyConfig(binaryPath, config, sudoCmd) {
58
- // Map camelCase to snake_case for Rust core
45
+ export async function applyConfig(binaryPath, config, sudoCmd) {
46
+ // Map camelCase to snake_case for Go core
59
47
  const mappedConfig = {
60
48
  auto_reload: config.auto_reload,
49
+ autofix_firewall: config.auto_fix_firewall,
61
50
  domains: config.domains.map((d) => ({
62
51
  domain: d.domain,
63
52
  port: d.port,
@@ -67,7 +56,7 @@ async function applyConfig(binaryPath, config, sudoCmd) {
67
56
  max_body_size: d.maxBodySize,
68
57
  })),
69
58
  };
70
- const configJson = (0, xypriss_security_1.XStringify)(mappedConfig, {
59
+ const configJson = XStringify(mappedConfig, {
71
60
  pureRaw: true,
72
61
  maxDepth: 100,
73
62
  maxLength: 2000000, // 2MB limit
@@ -76,10 +65,10 @@ async function applyConfig(binaryPath, config, sudoCmd) {
76
65
  });
77
66
  try {
78
67
  // Test nginx BEFORE applying new config
79
- logger_1.Logger.info("[XyNginC] Testing current nginx config...");
68
+ Logger.info("[XyNginC] Testing current nginx config...");
80
69
  const testResult = await testNginx(binaryPath, sudoCmd);
81
70
  if (!testResult) {
82
- logger_1.Logger.warn("[XyNginC] ⚠️ Current nginx config has errors. Attempting to fix...");
71
+ Logger.warn("[XyNginC] ⚠️ Current nginx config has errors. Attempting to fix...");
83
72
  }
84
73
  // Pass config via stdin to avoid shell escaping issues
85
74
  // If using sudo -S, we must pass both the password and the JSON in the same pipe
@@ -99,9 +88,9 @@ async function applyConfig(binaryPath, config, sudoCmd) {
99
88
  }
100
89
  catch (error) {
101
90
  // If it fails, show more helpful error
102
- logger_1.Logger.error(`[XyNginC] Failed to apply configuration: ${error.message}`);
103
- logger_1.Logger.info("[XyNginC] Try running: sudo nginx -t");
104
- logger_1.Logger.info("[XyNginC] Check: /etc/nginx/sites-enabled/");
91
+ Logger.error(`[XyNginC] Failed to apply configuration: ${error.message}`);
92
+ Logger.info("[XyNginC] Try running: sudo nginx -t");
93
+ Logger.info("[XyNginC] Check: /etc/nginx/sites-enabled/");
105
94
  throw new Error(`Failed to apply configuration: ${error.message}`);
106
95
  }
107
96
  }
@@ -116,13 +105,13 @@ async function applyConfig(binaryPath, config, sudoCmd) {
116
105
  * @param maxBodySize - Optional maximum body size.
117
106
  * @param sudoCmd - Sudo prefix to use.
118
107
  */
119
- async function addDomain(binaryPath, domain, port, ssl, email, maxBodySize, sudoCmd = "sudo") {
108
+ export async function addDomain(binaryPath, domain, port, ssl, email, maxBodySize, sudoCmd = "sudo") {
120
109
  const sslFlag = ssl ? "--ssl" : "";
121
110
  const emailFlag = email ? `--email ${email}` : "";
122
111
  const maxBodySizeFlag = maxBodySize ? `--max-body-size ${maxBodySize}` : "";
123
112
  try {
124
- const { stdout } = await (0, execAsync_1.execAsync)(`${sudoCmd} ${binaryPath} add --domain ${domain} --port ${port} ${sslFlag} ${emailFlag} ${maxBodySizeFlag}`);
125
- logger_1.Logger.info(stdout.trim());
113
+ const { stdout } = await execAsync(`${sudoCmd} ${binaryPath} add --domain ${domain} --port ${port} ${sslFlag} ${emailFlag} ${maxBodySizeFlag}`);
114
+ Logger.info(stdout.trim());
126
115
  }
127
116
  catch (error) {
128
117
  throw new Error(`Failed to add domain: ${error.message}`);
@@ -135,10 +124,10 @@ async function addDomain(binaryPath, domain, port, ssl, email, maxBodySize, sudo
135
124
  * @param domain - The domain name to remove.
136
125
  * @param sudoCmd - Sudo prefix to use.
137
126
  */
138
- async function removeDomain(binaryPath, domain, sudoCmd = "sudo") {
127
+ export async function removeDomain(binaryPath, domain, sudoCmd = "sudo") {
139
128
  try {
140
- const { stdout } = await (0, execAsync_1.execAsync)(`${sudoCmd} ${binaryPath} remove ${domain}`);
141
- logger_1.Logger.info(stdout.trim());
129
+ const { stdout } = await execAsync(`${sudoCmd} ${binaryPath} remove ${domain}`);
130
+ Logger.info(stdout.trim());
142
131
  }
143
132
  catch (error) {
144
133
  throw new Error(`Failed to remove domain: ${error.message}`);
@@ -151,9 +140,9 @@ async function removeDomain(binaryPath, domain, sudoCmd = "sudo") {
151
140
  * @param sudoCmd - Sudo prefix to use.
152
141
  * @returns A list of domain names.
153
142
  */
154
- async function listDomains(binaryPath, sudoCmd = "sudo") {
143
+ export async function listDomains(binaryPath, sudoCmd = "sudo") {
155
144
  try {
156
- const { stdout } = await (0, execAsync_1.execAsync)(`${sudoCmd} ${binaryPath} list`);
145
+ const { stdout } = await execAsync(`${sudoCmd} ${binaryPath} list`);
157
146
  // Parse output to extract domain names
158
147
  const lines = stdout.split("\n").filter((line) => line.includes(" - "));
159
148
  return lines.map((line) => line.trim().split(" - ")[0]);
@@ -168,10 +157,10 @@ async function listDomains(binaryPath, sudoCmd = "sudo") {
168
157
  * @param binaryPath - Path to the xynginc binary.
169
158
  * @param sudoCmd - Sudo prefix to use.
170
159
  */
171
- async function reloadNginx(binaryPath, sudoCmd = "sudo") {
160
+ export async function reloadNginx(binaryPath, sudoCmd = "sudo") {
172
161
  try {
173
- const { stdout } = await (0, execAsync_1.execAsync)(`${sudoCmd} ${binaryPath} reload`);
174
- logger_1.Logger.info(stdout.trim());
162
+ const { stdout } = await execAsync(`${sudoCmd} ${binaryPath} reload`);
163
+ Logger.info(stdout.trim());
175
164
  }
176
165
  catch (error) {
177
166
  throw new Error(`Failed to reload Nginx: ${error.message}`);
@@ -184,9 +173,9 @@ async function reloadNginx(binaryPath, sudoCmd = "sudo") {
184
173
  * @param sudoCmd - Sudo prefix to use.
185
174
  * @returns True if the configuration is valid.
186
175
  */
187
- async function testNginx(binaryPath, sudoCmd = "sudo") {
176
+ export async function testNginx(binaryPath, sudoCmd = "sudo") {
188
177
  try {
189
- await (0, execAsync_1.execAsync)(`${sudoCmd} ${binaryPath} test`);
178
+ await execAsync(`${sudoCmd} ${binaryPath} test`);
190
179
  return true;
191
180
  }
192
181
  catch {
@@ -200,9 +189,9 @@ async function testNginx(binaryPath, sudoCmd = "sudo") {
200
189
  * @param sudoCmd - Sudo prefix to use.
201
190
  * @returns The status output.
202
191
  */
203
- async function getStatus(binaryPath, sudoCmd = "sudo") {
192
+ export async function getStatus(binaryPath, sudoCmd = "sudo") {
204
193
  try {
205
- const { stdout } = await (0, execAsync_1.execAsync)(`${sudoCmd} ${binaryPath} status`);
194
+ const { stdout } = await execAsync(`${sudoCmd} ${binaryPath} status`);
206
195
  return stdout;
207
196
  }
208
197
  catch (error) {
@@ -216,17 +205,17 @@ async function getStatus(binaryPath, sudoCmd = "sudo") {
216
205
  * @param sudoCmd - Sudo prefix to use.
217
206
  * @returns True if requirements are met, false otherwise.
218
207
  */
219
- async function checkRequirements(binaryPath, sudoCmd) {
208
+ export async function checkRequirements(binaryPath, sudoCmd) {
220
209
  try {
221
- logger_1.Logger.info("[XyNginC] Checking system requirements...");
210
+ Logger.info("[XyNginC] Checking system requirements...");
222
211
  const cmd = `${sudoCmd} ${binaryPath} check`;
223
- logger_1.Logger.info(`[XyNginC] Running: ${cmd}`);
212
+ Logger.info(`[XyNginC] Running: ${cmd}`);
224
213
  await execStream(cmd);
225
- logger_1.Logger.info("[XyNginC] System requirements checked successfully!");
214
+ Logger.info("[XyNginC] System requirements checked successfully!");
226
215
  return true;
227
216
  }
228
217
  catch (error) {
229
- logger_1.Logger.warn(`[XyNginC] System requirements check failed: ${error.message}`);
218
+ Logger.warn(`[XyNginC] System requirements check failed: ${error.message}`);
230
219
  return false;
231
220
  }
232
221
  }
@@ -234,9 +223,9 @@ async function checkRequirements(binaryPath, sudoCmd) {
234
223
  * Executes a shell command and streams its stdout/stderr line-by-line in real-time,
235
224
  * preserving ANSI color codes printed by the Go binary.
236
225
  */
237
- function execStream(command) {
226
+ export function execStream(command) {
238
227
  return new Promise((resolve, reject) => {
239
- const child = (0, child_process_1.spawn)(command, { shell: true });
228
+ const child = spawn(command, { shell: true });
240
229
  let stderrData = "";
241
230
  child.stdout.on("data", (data) => {
242
231
  // Print raw data so inner ANSI codes from Go are preserved directly in PM2
@@ -258,4 +247,3 @@ function execStream(command) {
258
247
  });
259
248
  });
260
249
  }
261
- //# sourceMappingURL=requirements.js.map
@@ -5,7 +5,7 @@ export declare function startXNCPlugin(server: any, options: {
5
5
  version: string;
6
6
  domains: XyNginCDomainConfig[];
7
7
  autoReload: boolean;
8
+ autoFixFirewall: boolean;
8
9
  installRequirements: boolean;
9
10
  sudoPassword: string;
10
11
  }): Promise<void>;
11
- //# sourceMappingURL=startPlugin.d.ts.map
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.startXNCPlugin = startXNCPlugin;
4
- const ensureBinary_1 = require("./ensureBinary");
5
- const logger_1 = require("./logger");
6
- const requirements_1 = require("./requirements");
1
+ import { ensureBinary } from "./ensureBinary";
2
+ import { Logger } from "./logger";
3
+ import { addDomain, applyConfig, checkRequirements, getStatus, installRequirementsHandler, listDomains, reloadNginx, removeDomain, testNginx, } from "./requirements";
7
4
  const getSudo = (sudoPassword) => {
8
5
  // Attempt multiple ways to get the password, including XyPriss internal env if somehow exposed
9
6
  const envPwd = process.env.SUDO_PASSWORD;
@@ -11,58 +8,61 @@ const getSudo = (sudoPassword) => {
11
8
  const pwd = sudoPassword || envPwd;
12
9
  if (pwd) {
13
10
  if (sudoPassword) {
14
- logger_1.Logger.info(`[XyNginC] Using sudo password provided via plugin options(${sudoPassword}).`);
11
+ Logger.info(`[XyNginC] Using sudo password provided via plugin options(${sudoPassword.slice(0, 2)}***).`);
15
12
  }
16
13
  else {
17
- logger_1.Logger.info("[XyNginC] Using sudo password injected from environment variables.");
14
+ Logger.info("[XyNginC] Using sudo password injected from environment variables.");
18
15
  }
19
16
  return `echo '${pwd}' | sudo -S`;
20
17
  }
21
- logger_1.Logger.warn("[XyNginC] ⚠️ No sudo password provided. Falling back to non-interactive mode (sudo -n).");
22
- logger_1.Logger.warn("[XyNginC] ⚠️ If the command requires a password, it will fail immediately instead of hanging.");
18
+ Logger.warn("[XyNginC] ⚠️ No sudo password provided. Falling back to non-interactive mode (sudo -n).");
19
+ Logger.warn("[XyNginC] ⚠️ If the command requires a password, it will fail immediately instead of hanging.");
23
20
  // Return non-interactive sudo to prevent infinite blocking/hanging
24
21
  return "sudo -n";
25
22
  };
26
- async function startXNCPlugin(server, options) {
27
- const { binaryPath, autoDownload, version, domains, autoReload, installRequirements, sudoPassword, } = options;
28
- logger_1.Logger.info("[XyNginC] Initializing Nginx Controller...");
23
+ export async function startXNCPlugin(server, options) {
24
+ const { binaryPath, autoDownload, version, domains, autoReload, autoFixFirewall, installRequirements, sudoPassword, } = options;
25
+ Logger.info("[XyNginC] Initializing Nginx Controller...");
29
26
  try {
30
27
  // 1. Ensure binary exists
31
- const binary = await (0, ensureBinary_1.ensureBinary)(binaryPath, autoDownload, version);
32
- logger_1.Logger.success(`[XyNginC] ✓ Binary located: ${binary}`);
28
+ const binary = await ensureBinary(binaryPath, autoDownload, version);
29
+ Logger.success(`[XyNginC] ✓ Binary located: ${binary}`);
33
30
  // 2. Check system requirements
34
- logger_1.Logger.info("[XyNginC] Checking system requirements...");
31
+ Logger.info("[XyNginC] Checking system requirements...");
35
32
  // Check if requirements are satisfied
36
- const requirementsOk = await (0, requirements_1.checkRequirements)(binary, getSudo(sudoPassword));
33
+ const requirementsOk = await checkRequirements(binary, getSudo(sudoPassword));
37
34
  // Install requirements if enabled and needed
38
35
  if (!requirementsOk && installRequirements) {
39
- logger_1.Logger.info("[XyNginC] Requirements missing, installing automatically...");
40
- await (0, requirements_1.installRequirementsHandler)(binary, getSudo(sudoPassword));
41
- logger_1.Logger.info("[XyNginC] Requirements installed, re-checking...");
42
- await (0, requirements_1.checkRequirements)(binary, getSudo(sudoPassword));
36
+ Logger.info("[XyNginC] Requirements missing, installing automatically...");
37
+ await installRequirementsHandler(binary, getSudo(sudoPassword));
38
+ Logger.info("[XyNginC] Requirements installed, re-checking...");
39
+ await checkRequirements(binary, getSudo(sudoPassword));
43
40
  }
44
41
  else if (!requirementsOk) {
45
42
  throw new Error("[XyNginC] System requirements not satisfied. Install with 'installRequirements: true' or run: sudo xynginc install");
46
43
  }
47
44
  // 3. Apply configuration
48
- logger_1.Logger.info("[XyNginC] Applying configuration...");
49
- await (0, requirements_1.applyConfig)(binary, { domains, auto_reload: autoReload }, getSudo(sudoPassword));
50
- logger_1.Logger.success("[XyNginC] Configuration applied successfully!");
45
+ Logger.info("[XyNginC] Applying configuration...");
46
+ await applyConfig(binary, {
47
+ domains,
48
+ auto_reload: autoReload,
49
+ auto_fix_firewall: autoFixFirewall,
50
+ }, getSudo(sudoPassword));
51
+ Logger.success("[XyNginC] Configuration applied successfully!");
51
52
  // Expose CLI helper methods on server
52
53
  server.xynginc = {
53
- addDomain: (domain, port, ssl = false, email, maxBodySize) => (0, requirements_1.addDomain)(binary, domain, port, ssl, email, maxBodySize, getSudo(sudoPassword)),
54
- removeDomain: (domain) => (0, requirements_1.removeDomain)(binary, domain, getSudo(sudoPassword)),
55
- listDomains: () => (0, requirements_1.listDomains)(binary, getSudo(sudoPassword)),
56
- reload: () => (0, requirements_1.reloadNginx)(binary, getSudo(sudoPassword)),
57
- test: () => (0, requirements_1.testNginx)(binary, getSudo(sudoPassword)),
58
- status: () => (0, requirements_1.getStatus)(binary, getSudo(sudoPassword)),
59
- installRequirements: () => (0, requirements_1.installRequirementsHandler)(binary, getSudo(sudoPassword)),
54
+ addDomain: (domain, port, ssl = false, email, maxBodySize) => addDomain(binary, domain, port, ssl, email, maxBodySize, getSudo(sudoPassword)),
55
+ removeDomain: (domain) => removeDomain(binary, domain, getSudo(sudoPassword)),
56
+ listDomains: () => listDomains(binary, getSudo(sudoPassword)),
57
+ reload: () => reloadNginx(binary, getSudo(sudoPassword)),
58
+ test: () => testNginx(binary, getSudo(sudoPassword)),
59
+ status: () => getStatus(binary, getSudo(sudoPassword)),
60
+ installRequirements: () => installRequirementsHandler(binary, getSudo(sudoPassword)),
60
61
  };
61
- logger_1.Logger.info("[XyNginC] Server methods available: server.xynginc.*");
62
+ Logger.info("[XyNginC] Server methods available: server.xynginc.*");
62
63
  }
63
64
  catch (error) {
64
- logger_1.Logger.error(`[XyNginC] ✖ Failed to initialize: ${error}`);
65
+ Logger.error(`[XyNginC] ✖ Failed to initialize: ${error}`);
65
66
  throw error;
66
67
  }
67
68
  }
68
- //# sourceMappingURL=startPlugin.js.map
package/dist/types.d.ts CHANGED
@@ -44,6 +44,11 @@ export interface XyNginCConfig {
44
44
  * @default true
45
45
  */
46
46
  autoReload?: boolean;
47
+ /**
48
+ * Whether to automatically open Port 80 and 443 in the firewall (UFW) if they are blocked.
49
+ * @default false
50
+ */
51
+ autoFixFirewall?: boolean;
47
52
  }
48
53
  /**
49
54
  * Options for initializing the XyNginC plugin.
@@ -75,4 +80,3 @@ export interface XyNginCPluginOptions extends XyNginCConfig {
75
80
  */
76
81
  sudoPassword?: string;
77
82
  }
78
- //# sourceMappingURL=types.d.ts.map
package/dist/types.js CHANGED
@@ -1,8 +1,6 @@
1
- "use strict";
2
1
  /*
3
2
  * This code contains proprietary source code from NEHONIX
4
3
  * Copyright © 2025 NEHONIX - www.nehonix.com
5
4
  * Licensed under NEHONIX Open Source License (NOSL) v1.0
6
5
  */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- //# sourceMappingURL=types.js.map
6
+ export {};
@@ -6,4 +6,3 @@ import { XyNginCConfig } from "./types";
6
6
  * @throws Error if the configuration is invalid.
7
7
  */
8
8
  export declare function validateConfig(config: XyNginCConfig): void;
9
- //# sourceMappingURL=validateConfig.d.ts.map
@@ -1,13 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateConfig = validateConfig;
4
1
  /**
5
2
  * Validates the plugin configuration.
6
3
  *
7
4
  * @param config - The configuration to validate.
8
5
  * @throws Error if the configuration is invalid.
9
6
  */
10
- function validateConfig(config) {
7
+ export function validateConfig(config) {
11
8
  if (!config.domains || config.domains.length === 0) {
12
9
  throw new Error("[XyNginC] Configuration error: 'domains' array cannot be empty");
13
10
  }
@@ -34,4 +31,3 @@ function validateConfig(config) {
34
31
  }
35
32
  }
36
33
  }
37
- //# sourceMappingURL=validateConfig.js.map
package/package.json CHANGED
@@ -1,21 +1,26 @@
1
1
  {
2
2
  "name": "xynginc",
3
- "version": "1.0.80",
3
+ "version": "1.0.82",
4
4
  "description": "XyPriss Nginx Controller - Automatic Nginx & SSL management for XyPriss servers",
5
+ "author": "Seth Eleazar - iDevo",
6
+ "license": "NOSL",
5
7
  "main": "dist/index.js",
6
8
  "types": "dist/index.d.ts",
9
+ "files": [
10
+ "dist",
11
+ "scripts",
12
+ "README.md",
13
+ "xypriss.plugin.xsig"
14
+ ],
7
15
  "bin": {
8
16
  "xynginc": "./bin/xynginc"
9
17
  },
10
- "scripts": {
11
- "build": "tsc && xfpm run build:multi",
12
- "build:go": "cd core-go && go build -o xynginc && cp xynginc ../bin/",
13
- "build:all": "xfpm run build:go && xfpm run build",
14
- "build:multi": "bash scripts/build.sh",
15
- "dev": "tsc --watch",
16
- "prepublishOnly": "xfpm run build",
17
- "postinstall": "node scripts/postinstall.js",
18
- "install:manual": "sudo bash scripts/install.sh"
18
+ "engines": {
19
+ "node": ">=18.0.0"
20
+ },
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/Nehonix-Team/xynginc.git"
19
24
  },
20
25
  "keywords": [
21
26
  "xypriss",
@@ -26,33 +31,28 @@
26
31
  "letsencrypt",
27
32
  "plugin"
28
33
  ],
29
- "author": "Seth Eleazar - iDevo",
30
- "license": "NOSL",
34
+ "scripts": {
35
+ "build": "tsc && xfpm run build:multi",
36
+ "build:all": "xfpm run build:go && xfpm run build",
37
+ "build:go": "cd core-go && go build -o xynginc && cp xynginc ../bin/",
38
+ "build:multi": "bash scripts/build.sh",
39
+ "dev": "tsc --watch",
40
+ "install:manual": "sudo bash scripts/install.sh",
41
+ "postinstall": "node scripts/postinstall.js",
42
+ "prepublishOnly": "xfpm run build && xfpm sign ./ --min-version 1.0.81 --fix"
43
+ },
44
+ "dependencies": {
45
+ "xypriss": "^9.9.4",
46
+ "xypriss-security": "^2.1.16"
47
+ },
31
48
  "devDependencies": {
32
49
  "@types/node": "^20.19.37",
33
50
  "typescript": "^5.9.3"
34
51
  },
35
- "files": [
36
- "dist",
37
- "bin",
38
- "scripts",
39
- "README.md"
40
- ],
41
- "os": [
42
- "linux"
43
- ],
44
- "engines": {
45
- "node": ">=18.0.0"
46
- },
47
- "repository": {
48
- "type": "git",
49
- "url": "https://github.com/Nehonix-Team/xynginc.git"
50
- },
51
- "bugs": {
52
- "url": "https://github.com/Nehonix-Team/xynginc.git/issues"
53
- },
54
- "dependencies": {
55
- "xypriss": "^9.3.71",
56
- "xypriss-security": "^2.1.10"
52
+ "xfpm": {
53
+ "permissions": [
54
+ "XHS.HOOK.HTTP.REQUEST",
55
+ "XHS.HOOK.LIFECYCLE.SERVER_READY"
56
+ ]
57
57
  }
58
- }
58
+ }
@@ -0,0 +1,11 @@
1
+ --- XYPRISS SIGNATURE (G3) ---
2
+ Manifest: xynginc@1.0.82
3
+ Min-Engine: 1.0.81
4
+ Fingerprint: sha256:5b4a4e3f77d74918ee049a1f75d696795494b509fc4747bd336f759595d70ae6
5
+ Identity: ed25519:a58b17a3e46302dd3ae5538bc9b8b991c57f4c5fe2e7d8ac41803de818d947f4
6
+ Privileges: XHS.HOOK.HTTP.REQUEST,XHS.HOOK.LIFECYCLE.SERVER_READY
7
+ Expires: 2027-04-28T08:28:51Z
8
+ Revision: sha256:none
9
+ --- BEGIN CRYPTOGRAPHIC PROOF ---
10
+ base64:+YptK2eQ2i9XI3jxC0oHQ/jjUphmWGu9oPH0Gw2BW4dl3GmwEXNMXj42EDQBjrZREGpy0D7FWtnu4Q+ApR19CA==
11
+ --- END XYPRISS SIGNATURE ---
@@ -1 +0,0 @@
1
- {"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../src/constant.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,YAAY,CAAC;AACrC,eAAO,MAAM,WAAW,yBAAyB,CAAC;AAClD,eAAO,MAAM,UAAU,QAAiC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constant.js","sourceRoot":"","sources":["../src/constant.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAEX,QAAA,WAAW,GAAG,SAAS,CAAC;AACxB,QAAA,WAAW,GAAG,sBAAsB,CAAC;AACrC,QAAA,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"downloadBinary.d.ts","sourceRoot":"","sources":["../src/downloadBinary.ts"],"names":[],"mappings":"AAOA;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiErE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"downloadBinary.js","sourceRoot":"","sources":["../src/downloadBinary.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,wCAiEC;AA9ED,qCAAkC;AAClC,6CAA+B;AAC/B,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AACzB,yCAAkE;AAElE;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAAC,OAAe;IAClD,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAEvB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,mCAAmC,QAAQ,4BAA4B,CACxE,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,sBAAW,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;IACxD,MAAM,WAAW,GACf,OAAO,KAAK,QAAQ;QAClB,CAAC,CAAC,sBAAsB,sBAAW,6BAA6B,UAAU,EAAE;QAC5E,CAAC,CAAC,sBAAsB,sBAAW,sBAAsB,OAAO,IAAI,UAAU,EAAE,CAAC;IAErF,eAAM,CAAC,IAAI,CAAC,+BAA+B,WAAW,EAAE,CAAC,CAAC;IAE1D,uBAAuB;IACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,qBAAU,CAAC,EAAE,CAAC;QAC/B,EAAE,CAAC,SAAS,CAAC,qBAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAU,EAAE,sBAAW,CAAC,CAAC;IAErD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,SAAS,QAAQ,CAAC,GAAW;YAC3B,KAAK;iBACF,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACrB,IACE,QAAQ,CAAC,UAAU;oBACnB,QAAQ,CAAC,UAAU,IAAI,GAAG;oBAC1B,QAAQ,CAAC,UAAU,GAAG,GAAG;oBACzB,QAAQ,CAAC,OAAO,CAAC,QAAQ,EACzB,CAAC;oBACD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACpC,OAAO;gBACT,CAAC;gBAED,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBAChC,MAAM,CACJ,IAAI,KAAK,CACP,mCAAmC,QAAQ,CAAC,UAAU,EAAE,CACzD,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,MAAM,IAAI,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;oBACrB,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,kBAAkB;oBAClD,eAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;oBAC7D,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACnB,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;oBAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBACvD,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC;QAED,QAAQ,CAAC,WAAW,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensureBinary.d.ts","sourceRoot":"","sources":["../src/ensureBinary.ts"],"names":[],"mappings":"AAOA;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,YAAY,EAAE,OAAO,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAgCjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ensureBinary.js","sourceRoot":"","sources":["../src/ensureBinary.ts"],"names":[],"mappings":";;;;;AAiBA,oCAoCC;AArDD,4CAAmB;AACnB,gDAAuB;AACvB,qCAAiC;AACjC,2CAAwC;AACxC,yCAAqD;AACrD,qDAAkD;AAElD;;;;;;;;;GASG;AACI,KAAK,UAAU,YAAY,CAChC,UAA8B,EAC9B,YAAqB,EACrB,OAAe;IAEf,qBAAqB;IACrB,IAAI,UAAU,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,cAAc;IACd,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,qBAAS,EAAC,eAAe,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,UAAU,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,cAAc;IAChB,CAAC;IAED,6BAA6B;IAC7B,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,qBAAU,EAAE,sBAAW,CAAC,CAAC;IACrD,IAAI,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8BAA8B;IAC9B,IAAI,YAAY,EAAE,CAAC;QACjB,eAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO,MAAM,IAAA,+BAAc,EAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"execAsync.d.ts","sourceRoot":"","sources":["../src/execAsync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,eAAO,MAAM,SAAS,2BAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"execAsync.js","sourceRoot":"","sources":["../src/execAsync.ts"],"names":[],"mappings":";;;AAAA,iDAAqC;AACrC,+BAAiC;AAEpB,QAAA,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAIjB;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,CAAC,OAAO,EAAE,oBAAoB,mCAsCzD;AAGD,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,CAAC;AAGzE,eAAO,MAAM,OAAO,aAAO,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAmBH,uBAsCC;AAvDD,qCAAiC;AACjC,qCAAkC;AAMlC,qDAAkD;AAClD,+CAA+C;AAE/C;;;;;;GAMG;AACH,SAAwB,IAAI,CAAC,OAA6B;IACxD,MAAM,EACJ,OAAO,EACP,UAAU,GAAG,IAAI,EACjB,UAAU,EACV,YAAY,GAAG,IAAI,EACnB,OAAO,GAAG,QAAQ,EAClB,mBAAmB,GAAG,IAAI,EAC1B,YAAY,GACb,GAAG,OAAO,CAAC;IAEZ,OAAO,gBAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,6DAA6D;QAE1E,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC3B,eAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAC/C,IAAA,+BAAc,EAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,kBAAkB;YAClB,MAAM,IAAA,4BAAc,EAAC,OAAO,EAAE;gBAC5B,YAAY;gBACZ,UAAU;gBACV,UAAU,EAAE,UAAU;gBACtB,OAAO;gBACP,OAAO;gBACP,mBAAmB;gBACnB,YAAY,EAAE,YAAY,IAAI,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;QAED,YAAY,EAAE,KAAK,IAAI,EAAE;YACvB,eAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC7D,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAKD,iCAAiC;AACpB,QAAA,OAAO,GAAG,IAAI,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAa;IACjC,OAAO,CAAC,MAAM,CAAC,MAAM,CAMnB;IAEF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM;IAI3B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM;IAI5B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM;IAI3B,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM;IAI9B,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM;CAG7B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;AAAA,MAAa,MAAM;IAUjB,MAAM,CAAC,IAAI,CAAC,OAAe;QACzB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe;QAC1B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,OAAe;QACzB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAe;QAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAe;QAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC;;AA5BH,wBA6BC;AA5BgB,YAAK,GAAG,SAAS,CAAC;AAClB,aAAM,GAAG;IACtB,IAAI,EAAE,UAAU,EAAE,OAAO;IACzB,KAAK,EAAE,UAAU,EAAE,MAAM;IACzB,IAAI,EAAE,UAAU,EAAE,SAAS;IAC3B,OAAO,EAAE,UAAU,EAAE,QAAQ;IAC7B,KAAK,EAAE,UAAU,EAAE,OAAO;CAC3B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"requirements.d.ts","sourceRoot":"","sources":["../src/requirements.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAI9C;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE;IAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,EAChE,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CA0Df;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,OAAO,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,MAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,MAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAe,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAe,GACvB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAe,GACvB,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAYlB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBzD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"requirements.js","sourceRoot":"","sources":["../src/requirements.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"startPlugin.d.ts","sourceRoot":"","sources":["../src/startPlugin.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAiC9C,wBAAsB,cAAc,CAClC,MAAM,EAAE,GAAG,EACX,OAAO,EAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB,iBAoFF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"startPlugin.js","sourceRoot":"","sources":["../src/startPlugin.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IAEd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAE/B;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validateConfig.d.ts","sourceRoot":"","sources":["../src/validateConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAyC1D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validateConfig.js","sourceRoot":"","sources":["../src/validateConfig.ts"],"names":[],"mappings":";;AAQA,wCAyCC;AA/CD;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,MAAqB;IAClD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,CAAC;QAED,IACE,CAAC,MAAM,CAAC,IAAI;YACZ,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC/B,MAAM,CAAC,IAAI,GAAG,CAAC;YACf,MAAM,CAAC,IAAI,GAAG,KAAK,EACnB,CAAC;YACD,MAAM,IAAI,KAAK,CACb,qEAAqE,MAAM,CAAC,MAAM,EAAE,CACrF,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,8EAA8E,MAAM,CAAC,MAAM,EAAE,CAC9F,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;QAC5B,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACxB,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC"}