xynginc 1.0.81 → 1.0.83
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 +52 -20
- package/bin/xynginc +0 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.js +17 -21
- package/dist/{constant.d.ts → mods/constant.d.ts} +0 -1
- package/dist/mods/constant.js +4 -0
- package/dist/{downloadBinary.d.ts → mods/downloadBinary.d.ts} +0 -1
- package/dist/mods/downloadBinary.js +61 -0
- package/dist/{ensureBinary.d.ts → mods/ensureBinary.d.ts} +0 -1
- package/dist/mods/ensureBinary.js +44 -0
- package/dist/{execAsync.d.ts → mods/execAsync.d.ts} +0 -1
- package/dist/mods/execAsync.js +3 -0
- package/dist/{logger.d.ts → mods/logger.d.ts} +0 -1
- package/dist/{logger.js → mods/logger.js} +9 -14
- package/dist/{requirements.d.ts → mods/requirements.d.ts} +1 -2
- package/dist/{requirements.js → mods/requirements.js} +38 -51
- package/dist/{validateConfig.d.ts → mods/validateConfig.d.ts} +1 -2
- package/dist/{validateConfig.js → mods/validateConfig.js} +1 -5
- package/dist/startPlugin.d.ts +2 -2
- package/dist/startPlugin.js +34 -34
- package/dist/types.d.ts +0 -1
- package/dist/types.js +1 -3
- package/package.json +34 -34
- package/xypriss.plugin.xsig +11 -0
- package/dist/constant.d.ts.map +0 -1
- package/dist/constant.js +0 -11
- package/dist/constant.js.map +0 -1
- package/dist/downloadBinary.d.ts.map +0 -1
- package/dist/downloadBinary.js +0 -98
- package/dist/downloadBinary.js.map +0 -1
- package/dist/ensureBinary.d.ts.map +0 -1
- package/dist/ensureBinary.js +0 -51
- package/dist/ensureBinary.js.map +0 -1
- package/dist/execAsync.d.ts.map +0 -1
- package/dist/execAsync.js +0 -7
- package/dist/execAsync.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js.map +0 -1
- package/dist/requirements.d.ts.map +0 -1
- package/dist/requirements.js.map +0 -1
- package/dist/startPlugin.d.ts.map +0 -1
- package/dist/startPlugin.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/validateConfig.d.ts.map +0 -1
- package/dist/validateConfig.js.map +0 -1
package/README.md
CHANGED
|
@@ -4,13 +4,19 @@ This project uses code developed by NEHONIX (www.nehonix.com) under the NEHONIX
|
|
|
4
4
|
|
|
5
5
|
XyPriss Nginx Controller - Simplifie la gestion de Nginx et SSL.
|
|
6
6
|
|
|
7
|
-
[](https://www.npmjs.com/package/xynginc)
|
|
8
8
|
[](https://dll.nehonix.com/licenses/NOSL)
|
|
9
9
|
|
|
10
10
|
## Overview
|
|
11
11
|
|
|
12
12
|
XyNginC (XyPriss Nginx Controller) automates Nginx reverse proxy configuration, SSL certificate management, and provides optimized, production-ready configs for security, performance, and best practices. It eliminates manual Nginx editing, simplifying XyPriss deployment to just a few lines of TypeScript. Check out the [demo project on GitHub](https://github.com/iDevo-ll/XYNC-Demo).
|
|
13
13
|
|
|
14
|
+
> [!IMPORTANT]
|
|
15
|
+
> XyNginC is a plugin **exclusively designed for XyPriss projects**. It is not intended for use outside the XyPriss ecosystem, in development environments, or on non-Linux systems. For the best integration experience, **XFPM** (XyPriss Fast Package Manager) is required — see [Installation](#installation).
|
|
16
|
+
|
|
17
|
+
> [!CAUTION]
|
|
18
|
+
> XyNginC only runs on **Linux production servers** (VPS or Dedicated). Supported architectures: **x64**, **arm64**, and **ia32**. Windows and macOS are not supported.
|
|
19
|
+
|
|
14
20
|
## Key Features
|
|
15
21
|
|
|
16
22
|
- **Automated Reverse Proxy**: Maps domains to local ports seamlessly.
|
|
@@ -26,7 +32,28 @@ XyNginC (XyPriss Nginx Controller) automates Nginx reverse proxy configuration,
|
|
|
26
32
|
For detailed installation instructions, please refer to the [Installation Guide](docs/INSTALLATION.md).
|
|
27
33
|
For building from source (custom architectures), see the [Build Guide](docs/BUILD_FROM_SOURCE.md).
|
|
28
34
|
|
|
29
|
-
XyNginC is designed for
|
|
35
|
+
XyNginC is exclusively designed for **XyPriss projects running in production on Linux**. We strongly recommend using Ubuntu on a Virtual Private Server (VPS) for the best security and stability.
|
|
36
|
+
|
|
37
|
+
### Prerequisites
|
|
38
|
+
|
|
39
|
+
Before installing XyNginC, you need **XFPM** — the official package manager for the XyPriss ecosystem.
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
curl -fsSL https://raw.githubusercontent.com/Nehonix-Team/XFPM/master/scripts/install.sh | sudo bash
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
xfpm --version
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Install XyNginC
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
xfpm install xynginc
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
> [!NOTE]
|
|
56
|
+
> The installation requires `sudo` privileges to place the binary in `/usr/local/bin` and configure system permissions.
|
|
30
57
|
|
|
31
58
|
## Quick Start
|
|
32
59
|
|
|
@@ -92,7 +119,7 @@ XNCP({
|
|
|
92
119
|
Manage domains programmatically at runtime:
|
|
93
120
|
|
|
94
121
|
```typescript
|
|
95
|
-
app.start(
|
|
122
|
+
app.start(async () => {
|
|
96
123
|
// Add a new domain
|
|
97
124
|
await app.xynginc.addDomain(
|
|
98
125
|
"new.example.com",
|
|
@@ -181,7 +208,7 @@ await server.xynginc.status(): Promise<string>
|
|
|
181
208
|
|
|
182
209
|
## CLI Usage
|
|
183
210
|
|
|
184
|
-
The `xynginc` command-line interface allows for direct management without the
|
|
211
|
+
The `xynginc` command-line interface allows for direct management without the XyPriss application context.
|
|
185
212
|
|
|
186
213
|
```bash
|
|
187
214
|
# Check prerequisites
|
|
@@ -230,9 +257,9 @@ sudo xynginc status
|
|
|
230
257
|
|
|
231
258
|
The system operates through a three-tier architecture:
|
|
232
259
|
|
|
233
|
-
1.
|
|
234
|
-
2.
|
|
235
|
-
3.
|
|
260
|
+
1. **XyPriss Application**: The XyPriss application running the server.
|
|
261
|
+
2. **XyNginC Plugin**: A TypeScript wrapper that interfaces with the application and executes the underlying Go binary.
|
|
262
|
+
3. **XyNginC Go Binary**: A high-performance Go-based CLI tool that performs system-level operations (Nginx configuration, Certbot execution). It dynamically fetches the latest config templates from GitHub (`Nehonix-Team/xynginc`) to guarantee up-to-date and optimized Nginx setups.
|
|
236
263
|
|
|
237
264
|
## Security Considerations
|
|
238
265
|
|
|
@@ -243,7 +270,8 @@ XyNginC requires elevated privileges to perform the following actions:
|
|
|
243
270
|
- Executing `certbot` for SSL certificate generation
|
|
244
271
|
- Reloading the Nginx service
|
|
245
272
|
|
|
246
|
-
|
|
273
|
+
> [!WARNING]
|
|
274
|
+
> XyNginC requires elevated privileges to manage Nginx and firewall rules. Always review the commands being executed and restrict sudo access to only what is necessary.
|
|
247
275
|
|
|
248
276
|
- **Sudoers**: We recommend configuring `sudoers` to allow specific commands for the user.
|
|
249
277
|
- **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.
|
|
@@ -257,8 +285,8 @@ XyNginC requires elevated privileges to perform the following actions:
|
|
|
257
285
|
If the binary fails to download automatically:
|
|
258
286
|
|
|
259
287
|
```bash
|
|
260
|
-
# Manually trigger
|
|
261
|
-
|
|
288
|
+
# Manually trigger with XFPM
|
|
289
|
+
xfpm run postinstall
|
|
262
290
|
|
|
263
291
|
# Or specify the path manually in options
|
|
264
292
|
XNCP({
|
|
@@ -280,21 +308,25 @@ sudo node server.js
|
|
|
280
308
|
|
|
281
309
|
If SSL generation fails:
|
|
282
310
|
|
|
283
|
-
1.
|
|
284
|
-
2.
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
311
|
+
1. Verify DNS propagation: `dig api.example.com`
|
|
312
|
+
2. Ensure firewall allows traffic on ports 80 and 443:
|
|
313
|
+
|
|
314
|
+
```bash
|
|
315
|
+
sudo ufw allow 80
|
|
316
|
+
sudo ufw allow 443
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
> [!NOTE]
|
|
320
|
+
> Certbot requires ports 80 and 443 to be publicly accessible for domain validation. Make sure your cloud provider's security groups also allow this traffic, not just UFW.
|
|
289
321
|
|
|
290
322
|
## Contributing
|
|
291
323
|
|
|
292
324
|
Contributions are welcome. Please follow the standard pull request process.
|
|
293
325
|
|
|
294
|
-
1.
|
|
295
|
-
2.
|
|
296
|
-
3.
|
|
297
|
-
4.
|
|
326
|
+
1. Clone the repository
|
|
327
|
+
2. Install dependencies
|
|
328
|
+
3. Build the Go CLI and TypeScript package (`xfpm run build:all`)
|
|
329
|
+
4. Run tests
|
|
298
330
|
|
|
299
331
|
## License
|
|
300
332
|
|
package/bin/xynginc
CHANGED
|
Binary file
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import { Plugin } from "xypriss";
|
|
1
2
|
import { XyNginCConfig, XyNginCDomainConfig, XyNginCPluginOptions } from "./types";
|
|
3
|
+
export type PlC = Parameters<typeof Plugin.create>[0];
|
|
4
|
+
export type PluginServer = Parameters<NonNullable<PlC["onServerStart"]>>[0];
|
|
2
5
|
/**
|
|
3
6
|
* XyNginC Plugin for XyPriss.
|
|
4
7
|
* Automates Nginx and SSL management for your server.
|
|
@@ -9,4 +12,3 @@ import { XyNginCConfig, XyNginCDomainConfig, XyNginCPluginOptions } from "./type
|
|
|
9
12
|
export default function XNCP(options: XyNginCPluginOptions): import("xypriss").XyPrissPlugin;
|
|
10
13
|
export type { XyNginCConfig, XyNginCDomainConfig, XyNginCPluginOptions };
|
|
11
14
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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 "./mods/logger";
|
|
8
|
+
import { validateConfig } from "./mods/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,19 +14,20 @@ 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) {
|
|
17
|
+
export default function XNCP(options) {
|
|
22
18
|
const { domains, autoReload = true, autoFixFirewall = false, binaryPath, autoDownload = true, version = "latest", installRequirements = true, sudoPassword, } = options;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
const pkg = Plugin.manifest(__sys__);
|
|
20
|
+
return Plugin.create({
|
|
21
|
+
name: pkg.name,
|
|
22
|
+
version: pkg.version,
|
|
23
|
+
description: pkg.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
|
|
30
|
+
await startXNCPlugin(_server, {
|
|
34
31
|
autoDownload,
|
|
35
32
|
autoReload,
|
|
36
33
|
autoFixFirewall,
|
|
@@ -42,10 +39,9 @@ function XNCP(options) {
|
|
|
42
39
|
});
|
|
43
40
|
},
|
|
44
41
|
onServerStop: async () => {
|
|
45
|
-
|
|
42
|
+
Logger.info("[XyNginC] Shutting down Nginx Controller...");
|
|
46
43
|
},
|
|
47
|
-
});
|
|
44
|
+
}, __sys__.__root__);
|
|
48
45
|
}
|
|
49
46
|
// Named exports for direct usage
|
|
50
|
-
|
|
51
|
-
//# sourceMappingURL=index.js.map
|
|
47
|
+
export const XyNginC = XNCP;
|
|
@@ -0,0 +1,61 @@
|
|
|
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";
|
|
7
|
+
/**
|
|
8
|
+
* Downloads the xynginc binary from GitHub releases.
|
|
9
|
+
*
|
|
10
|
+
* @param version - The version to download (e.g., "latest" or "v1.4.5").
|
|
11
|
+
* @returns The path to the downloaded binary.
|
|
12
|
+
*/
|
|
13
|
+
export async function downloadBinary(version) {
|
|
14
|
+
const platform = os.platform();
|
|
15
|
+
const arch = os.arch();
|
|
16
|
+
if (platform !== "linux") {
|
|
17
|
+
throw new Error(`[XyNginC] Unsupported platform: ${platform}. Only Linux is supported.`);
|
|
18
|
+
}
|
|
19
|
+
const binaryName = `${BINARY_NAME}-${platform}-${arch}`;
|
|
20
|
+
const downloadUrl = version === "latest"
|
|
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}`);
|
|
24
|
+
// Create bin directory
|
|
25
|
+
if (!fs.existsSync(BINARY_DIR)) {
|
|
26
|
+
fs.mkdirSync(BINARY_DIR, { recursive: true });
|
|
27
|
+
}
|
|
28
|
+
const localPath = path.join(BINARY_DIR, BINARY_NAME);
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
function download(url) {
|
|
31
|
+
https
|
|
32
|
+
.get(url, (response) => {
|
|
33
|
+
if (response.statusCode &&
|
|
34
|
+
response.statusCode >= 300 &&
|
|
35
|
+
response.statusCode < 400 &&
|
|
36
|
+
response.headers.location) {
|
|
37
|
+
download(response.headers.location);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (response.statusCode !== 200) {
|
|
41
|
+
reject(new Error(`Failed to download binary: HTTP ${response.statusCode}`));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const file = fs.createWriteStream(localPath);
|
|
45
|
+
response.pipe(file);
|
|
46
|
+
file.on("finish", () => {
|
|
47
|
+
file.close();
|
|
48
|
+
fs.chmodSync(localPath, 0o755); // Make executable
|
|
49
|
+
Logger.success("[XyNginC] ✓ Binary downloaded successfully");
|
|
50
|
+
resolve(localPath);
|
|
51
|
+
});
|
|
52
|
+
})
|
|
53
|
+
.on("error", (err) => {
|
|
54
|
+
if (fs.existsSync(localPath))
|
|
55
|
+
fs.unlinkSync(localPath);
|
|
56
|
+
reject(err);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
download(downloadUrl);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
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";
|
|
7
|
+
/**
|
|
8
|
+
* Ensures the xynginc binary exists.
|
|
9
|
+
* It checks the custom path, the system PATH, and the local bin directory.
|
|
10
|
+
* If not found and autoDownload is enabled, it downloads the binary.
|
|
11
|
+
*
|
|
12
|
+
* @param customPath - Optional custom path to the binary.
|
|
13
|
+
* @param autoDownload - Whether to download the binary if missing.
|
|
14
|
+
* @param version - The version to download.
|
|
15
|
+
* @returns The absolute path to the binary.
|
|
16
|
+
*/
|
|
17
|
+
export async function ensureBinary(customPath, autoDownload, version) {
|
|
18
|
+
// 1. Try custom path
|
|
19
|
+
if (customPath && fs.existsSync(customPath)) {
|
|
20
|
+
return customPath;
|
|
21
|
+
}
|
|
22
|
+
// 2. Try PATH
|
|
23
|
+
try {
|
|
24
|
+
const { stdout } = await execAsync("which xynginc");
|
|
25
|
+
const globalPath = stdout.trim();
|
|
26
|
+
if (globalPath && fs.existsSync(globalPath)) {
|
|
27
|
+
return globalPath;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// Not in PATH
|
|
32
|
+
}
|
|
33
|
+
// 3. Try local bin directory
|
|
34
|
+
const localPath = path.join(BINARY_DIR, BINARY_NAME);
|
|
35
|
+
if (fs.existsSync(localPath)) {
|
|
36
|
+
return localPath;
|
|
37
|
+
}
|
|
38
|
+
// 4. Auto-download if enabled
|
|
39
|
+
if (autoDownload) {
|
|
40
|
+
Logger.info("[XyNginC] Binary not found, downloading...");
|
|
41
|
+
return await downloadBinary(version);
|
|
42
|
+
}
|
|
43
|
+
throw new Error("[XyNginC] Binary not found. Install xynginc or set 'autoDownload: true'");
|
|
44
|
+
}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { XyNginCDomainConfig } from "
|
|
1
|
+
import { XyNginCDomainConfig } from "../types";
|
|
2
2
|
/**
|
|
3
3
|
* Installs system requirements using the binary in interactive mode.
|
|
4
4
|
*
|
|
@@ -82,4 +82,3 @@ export declare function checkRequirements(binaryPath: string, sudoCmd: string):
|
|
|
82
82
|
* preserving ANSI color codes printed by the Go binary.
|
|
83
83
|
*/
|
|
84
84
|
export declare function execStream(command: string): Promise<void>;
|
|
85
|
-
//# sourceMappingURL=requirements.d.ts.map
|
|
@@ -1,41 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
26
|
-
|
|
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 =
|
|
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
|
-
|
|
26
|
+
Logger.success("[XyNginC] ✓ System requirements installed successfully");
|
|
39
27
|
resolve();
|
|
40
28
|
}
|
|
41
29
|
else {
|
|
@@ -54,7 +42,7 @@ 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) {
|
|
45
|
+
export async function applyConfig(binaryPath, config, sudoCmd) {
|
|
58
46
|
// Map camelCase to snake_case for Go core
|
|
59
47
|
const mappedConfig = {
|
|
60
48
|
auto_reload: config.auto_reload,
|
|
@@ -68,7 +56,7 @@ async function applyConfig(binaryPath, config, sudoCmd) {
|
|
|
68
56
|
max_body_size: d.maxBodySize,
|
|
69
57
|
})),
|
|
70
58
|
};
|
|
71
|
-
const configJson =
|
|
59
|
+
const configJson = XStringify(mappedConfig, {
|
|
72
60
|
pureRaw: true,
|
|
73
61
|
maxDepth: 100,
|
|
74
62
|
maxLength: 2000000, // 2MB limit
|
|
@@ -77,10 +65,10 @@ async function applyConfig(binaryPath, config, sudoCmd) {
|
|
|
77
65
|
});
|
|
78
66
|
try {
|
|
79
67
|
// Test nginx BEFORE applying new config
|
|
80
|
-
|
|
68
|
+
Logger.info("[XyNginC] Testing current nginx config...");
|
|
81
69
|
const testResult = await testNginx(binaryPath, sudoCmd);
|
|
82
70
|
if (!testResult) {
|
|
83
|
-
|
|
71
|
+
Logger.warn("[XyNginC] ⚠️ Current nginx config has errors. Attempting to fix...");
|
|
84
72
|
}
|
|
85
73
|
// Pass config via stdin to avoid shell escaping issues
|
|
86
74
|
// If using sudo -S, we must pass both the password and the JSON in the same pipe
|
|
@@ -100,9 +88,9 @@ async function applyConfig(binaryPath, config, sudoCmd) {
|
|
|
100
88
|
}
|
|
101
89
|
catch (error) {
|
|
102
90
|
// If it fails, show more helpful error
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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/");
|
|
106
94
|
throw new Error(`Failed to apply configuration: ${error.message}`);
|
|
107
95
|
}
|
|
108
96
|
}
|
|
@@ -117,13 +105,13 @@ async function applyConfig(binaryPath, config, sudoCmd) {
|
|
|
117
105
|
* @param maxBodySize - Optional maximum body size.
|
|
118
106
|
* @param sudoCmd - Sudo prefix to use.
|
|
119
107
|
*/
|
|
120
|
-
async function addDomain(binaryPath, domain, port, ssl, email, maxBodySize, sudoCmd = "sudo") {
|
|
108
|
+
export async function addDomain(binaryPath, domain, port, ssl, email, maxBodySize, sudoCmd = "sudo") {
|
|
121
109
|
const sslFlag = ssl ? "--ssl" : "";
|
|
122
110
|
const emailFlag = email ? `--email ${email}` : "";
|
|
123
111
|
const maxBodySizeFlag = maxBodySize ? `--max-body-size ${maxBodySize}` : "";
|
|
124
112
|
try {
|
|
125
|
-
const { stdout } = await
|
|
126
|
-
|
|
113
|
+
const { stdout } = await execAsync(`${sudoCmd} ${binaryPath} add --domain ${domain} --port ${port} ${sslFlag} ${emailFlag} ${maxBodySizeFlag}`);
|
|
114
|
+
Logger.info(stdout.trim());
|
|
127
115
|
}
|
|
128
116
|
catch (error) {
|
|
129
117
|
throw new Error(`Failed to add domain: ${error.message}`);
|
|
@@ -136,10 +124,10 @@ async function addDomain(binaryPath, domain, port, ssl, email, maxBodySize, sudo
|
|
|
136
124
|
* @param domain - The domain name to remove.
|
|
137
125
|
* @param sudoCmd - Sudo prefix to use.
|
|
138
126
|
*/
|
|
139
|
-
async function removeDomain(binaryPath, domain, sudoCmd = "sudo") {
|
|
127
|
+
export async function removeDomain(binaryPath, domain, sudoCmd = "sudo") {
|
|
140
128
|
try {
|
|
141
|
-
const { stdout } = await
|
|
142
|
-
|
|
129
|
+
const { stdout } = await execAsync(`${sudoCmd} ${binaryPath} remove ${domain}`);
|
|
130
|
+
Logger.info(stdout.trim());
|
|
143
131
|
}
|
|
144
132
|
catch (error) {
|
|
145
133
|
throw new Error(`Failed to remove domain: ${error.message}`);
|
|
@@ -152,9 +140,9 @@ async function removeDomain(binaryPath, domain, sudoCmd = "sudo") {
|
|
|
152
140
|
* @param sudoCmd - Sudo prefix to use.
|
|
153
141
|
* @returns A list of domain names.
|
|
154
142
|
*/
|
|
155
|
-
async function listDomains(binaryPath, sudoCmd = "sudo") {
|
|
143
|
+
export async function listDomains(binaryPath, sudoCmd = "sudo") {
|
|
156
144
|
try {
|
|
157
|
-
const { stdout } = await
|
|
145
|
+
const { stdout } = await execAsync(`${sudoCmd} ${binaryPath} list`);
|
|
158
146
|
// Parse output to extract domain names
|
|
159
147
|
const lines = stdout.split("\n").filter((line) => line.includes(" - "));
|
|
160
148
|
return lines.map((line) => line.trim().split(" - ")[0]);
|
|
@@ -169,10 +157,10 @@ async function listDomains(binaryPath, sudoCmd = "sudo") {
|
|
|
169
157
|
* @param binaryPath - Path to the xynginc binary.
|
|
170
158
|
* @param sudoCmd - Sudo prefix to use.
|
|
171
159
|
*/
|
|
172
|
-
async function reloadNginx(binaryPath, sudoCmd = "sudo") {
|
|
160
|
+
export async function reloadNginx(binaryPath, sudoCmd = "sudo") {
|
|
173
161
|
try {
|
|
174
|
-
const { stdout } = await
|
|
175
|
-
|
|
162
|
+
const { stdout } = await execAsync(`${sudoCmd} ${binaryPath} reload`);
|
|
163
|
+
Logger.info(stdout.trim());
|
|
176
164
|
}
|
|
177
165
|
catch (error) {
|
|
178
166
|
throw new Error(`Failed to reload Nginx: ${error.message}`);
|
|
@@ -185,9 +173,9 @@ async function reloadNginx(binaryPath, sudoCmd = "sudo") {
|
|
|
185
173
|
* @param sudoCmd - Sudo prefix to use.
|
|
186
174
|
* @returns True if the configuration is valid.
|
|
187
175
|
*/
|
|
188
|
-
async function testNginx(binaryPath, sudoCmd = "sudo") {
|
|
176
|
+
export async function testNginx(binaryPath, sudoCmd = "sudo") {
|
|
189
177
|
try {
|
|
190
|
-
await
|
|
178
|
+
await execAsync(`${sudoCmd} ${binaryPath} test`);
|
|
191
179
|
return true;
|
|
192
180
|
}
|
|
193
181
|
catch {
|
|
@@ -201,9 +189,9 @@ async function testNginx(binaryPath, sudoCmd = "sudo") {
|
|
|
201
189
|
* @param sudoCmd - Sudo prefix to use.
|
|
202
190
|
* @returns The status output.
|
|
203
191
|
*/
|
|
204
|
-
async function getStatus(binaryPath, sudoCmd = "sudo") {
|
|
192
|
+
export async function getStatus(binaryPath, sudoCmd = "sudo") {
|
|
205
193
|
try {
|
|
206
|
-
const { stdout } = await
|
|
194
|
+
const { stdout } = await execAsync(`${sudoCmd} ${binaryPath} status`);
|
|
207
195
|
return stdout;
|
|
208
196
|
}
|
|
209
197
|
catch (error) {
|
|
@@ -217,17 +205,17 @@ async function getStatus(binaryPath, sudoCmd = "sudo") {
|
|
|
217
205
|
* @param sudoCmd - Sudo prefix to use.
|
|
218
206
|
* @returns True if requirements are met, false otherwise.
|
|
219
207
|
*/
|
|
220
|
-
async function checkRequirements(binaryPath, sudoCmd) {
|
|
208
|
+
export async function checkRequirements(binaryPath, sudoCmd) {
|
|
221
209
|
try {
|
|
222
|
-
|
|
210
|
+
Logger.info("[XyNginC] Checking system requirements...");
|
|
223
211
|
const cmd = `${sudoCmd} ${binaryPath} check`;
|
|
224
|
-
|
|
212
|
+
Logger.info(`[XyNginC] Running: ${cmd}`);
|
|
225
213
|
await execStream(cmd);
|
|
226
|
-
|
|
214
|
+
Logger.info("[XyNginC] System requirements checked successfully!");
|
|
227
215
|
return true;
|
|
228
216
|
}
|
|
229
217
|
catch (error) {
|
|
230
|
-
|
|
218
|
+
Logger.warn(`[XyNginC] System requirements check failed: ${error.message}`);
|
|
231
219
|
return false;
|
|
232
220
|
}
|
|
233
221
|
}
|
|
@@ -235,9 +223,9 @@ async function checkRequirements(binaryPath, sudoCmd) {
|
|
|
235
223
|
* Executes a shell command and streams its stdout/stderr line-by-line in real-time,
|
|
236
224
|
* preserving ANSI color codes printed by the Go binary.
|
|
237
225
|
*/
|
|
238
|
-
function execStream(command) {
|
|
226
|
+
export function execStream(command) {
|
|
239
227
|
return new Promise((resolve, reject) => {
|
|
240
|
-
const child =
|
|
228
|
+
const child = spawn(command, { shell: true });
|
|
241
229
|
let stderrData = "";
|
|
242
230
|
child.stdout.on("data", (data) => {
|
|
243
231
|
// Print raw data so inner ANSI codes from Go are preserved directly in PM2
|
|
@@ -259,4 +247,3 @@ function execStream(command) {
|
|
|
259
247
|
});
|
|
260
248
|
});
|
|
261
249
|
}
|
|
262
|
-
//# sourceMappingURL=requirements.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { XyNginCConfig } from "
|
|
1
|
+
import { XyNginCConfig } from "../types";
|
|
2
2
|
/**
|
|
3
3
|
* Validates the plugin configuration.
|
|
4
4
|
*
|
|
@@ -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/dist/startPlugin.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { PluginServer } from ".";
|
|
1
2
|
import { XyNginCDomainConfig } from "./types";
|
|
2
|
-
export declare function startXNCPlugin(server:
|
|
3
|
+
export declare function startXNCPlugin(server: PluginServer, options: {
|
|
3
4
|
binaryPath?: string;
|
|
4
5
|
autoDownload: boolean;
|
|
5
6
|
version: string;
|
|
@@ -9,4 +10,3 @@ export declare function startXNCPlugin(server: any, options: {
|
|
|
9
10
|
installRequirements: boolean;
|
|
10
11
|
sudoPassword: string;
|
|
11
12
|
}): Promise<void>;
|
|
12
|
-
//# sourceMappingURL=startPlugin.d.ts.map
|
package/dist/startPlugin.js
CHANGED
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const ensureBinary_1 = require("./ensureBinary");
|
|
5
|
-
const logger_1 = require("./logger");
|
|
6
|
-
const requirements_1 = require("./requirements");
|
|
1
|
+
import { ensureBinary } from "./mods/ensureBinary";
|
|
2
|
+
import { Logger } from "./mods/logger";
|
|
3
|
+
import { addDomain, applyConfig, checkRequirements, getStatus, installRequirementsHandler, listDomains, reloadNginx, removeDomain, testNginx, } from "./mods/requirements";
|
|
7
4
|
const getSudo = (sudoPassword) => {
|
|
8
5
|
// Attempt multiple ways to get the password, including XyPriss internal env if somehow exposed
|
|
9
|
-
const envPwd =
|
|
6
|
+
const envPwd = __sys__.__env__.get("SUDO_PASSWORD");
|
|
10
7
|
// || (global as any).__sys__?.$env?.("SUDO_PASSWORD");
|
|
11
8
|
const pwd = sudoPassword || envPwd;
|
|
12
9
|
if (pwd) {
|
|
13
10
|
if (sudoPassword) {
|
|
14
|
-
|
|
11
|
+
Logger.info(`[XyNginC] Using sudo password provided via plugin options(${sudoPassword.slice(0, 2)}***).`);
|
|
15
12
|
}
|
|
16
13
|
else {
|
|
17
|
-
|
|
14
|
+
Logger.info("[XyNginC] Using sudo password injected from environment variables.");
|
|
18
15
|
}
|
|
19
16
|
return `echo '${pwd}' | sudo -S`;
|
|
20
17
|
}
|
|
21
|
-
|
|
22
|
-
|
|
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) {
|
|
23
|
+
export async function startXNCPlugin(server, options) {
|
|
27
24
|
const { binaryPath, autoDownload, version, domains, autoReload, autoFixFirewall, installRequirements, sudoPassword, } = options;
|
|
28
|
-
|
|
25
|
+
Logger.info("[XyNginC] Initializing Nginx Controller...");
|
|
26
|
+
if (!sudoPassword) {
|
|
27
|
+
Logger.warn("[XyNginC] To ensure optimal performance and prevent potential issues, it is recommended to provide your system sudo password.");
|
|
28
|
+
Logger.info("[XyNginC] Security notice: The password is used solely for privileged communication with your operating system. It is never stored, logged, or transmitted externally.");
|
|
29
|
+
}
|
|
29
30
|
try {
|
|
30
31
|
// 1. Ensure binary exists
|
|
31
|
-
const binary = await
|
|
32
|
-
|
|
32
|
+
const binary = await ensureBinary(binaryPath, autoDownload, version);
|
|
33
|
+
Logger.success(`[XyNginC] ✓ Binary located: ${binary}`);
|
|
33
34
|
// 2. Check system requirements
|
|
34
|
-
|
|
35
|
+
Logger.info("[XyNginC] Checking system requirements...");
|
|
35
36
|
// Check if requirements are satisfied
|
|
36
|
-
const requirementsOk = await
|
|
37
|
+
const requirementsOk = await checkRequirements(binary, getSudo(sudoPassword));
|
|
37
38
|
// Install requirements if enabled and needed
|
|
38
39
|
if (!requirementsOk && installRequirements) {
|
|
39
|
-
|
|
40
|
-
await
|
|
41
|
-
|
|
42
|
-
await
|
|
40
|
+
Logger.info("[XyNginC] Requirements missing, installing automatically...");
|
|
41
|
+
await installRequirementsHandler(binary, getSudo(sudoPassword));
|
|
42
|
+
Logger.info("[XyNginC] Requirements installed, re-checking...");
|
|
43
|
+
await checkRequirements(binary, getSudo(sudoPassword));
|
|
43
44
|
}
|
|
44
45
|
else if (!requirementsOk) {
|
|
45
46
|
throw new Error("[XyNginC] System requirements not satisfied. Install with 'installRequirements: true' or run: sudo xynginc install");
|
|
46
47
|
}
|
|
47
48
|
// 3. Apply configuration
|
|
48
|
-
|
|
49
|
-
await
|
|
49
|
+
Logger.info("[XyNginC] Applying configuration...");
|
|
50
|
+
await applyConfig(binary, {
|
|
50
51
|
domains,
|
|
51
52
|
auto_reload: autoReload,
|
|
52
53
|
auto_fix_firewall: autoFixFirewall,
|
|
53
54
|
}, getSudo(sudoPassword));
|
|
54
|
-
|
|
55
|
+
Logger.success("[XyNginC] Configuration applied successfully!");
|
|
55
56
|
// Expose CLI helper methods on server
|
|
56
57
|
server.xynginc = {
|
|
57
|
-
addDomain: (domain, port, ssl = false, email, maxBodySize) =>
|
|
58
|
-
removeDomain: (domain) =>
|
|
59
|
-
listDomains: () =>
|
|
60
|
-
reload: () =>
|
|
61
|
-
test: () =>
|
|
62
|
-
status: () =>
|
|
63
|
-
installRequirements: () =>
|
|
58
|
+
addDomain: (domain, port, ssl = false, email, maxBodySize) => addDomain(binary, domain, port, ssl, email, maxBodySize, getSudo(sudoPassword)),
|
|
59
|
+
removeDomain: (domain) => removeDomain(binary, domain, getSudo(sudoPassword)),
|
|
60
|
+
listDomains: () => listDomains(binary, getSudo(sudoPassword)),
|
|
61
|
+
reload: () => reloadNginx(binary, getSudo(sudoPassword)),
|
|
62
|
+
test: () => testNginx(binary, getSudo(sudoPassword)),
|
|
63
|
+
status: () => getStatus(binary, getSudo(sudoPassword)),
|
|
64
|
+
installRequirements: () => installRequirementsHandler(binary, getSudo(sudoPassword)),
|
|
64
65
|
};
|
|
65
|
-
|
|
66
|
+
Logger.info("[XyNginC] Server methods available: server.xynginc.*");
|
|
66
67
|
}
|
|
67
68
|
catch (error) {
|
|
68
|
-
|
|
69
|
+
Logger.error(`[XyNginC] ✖ Failed to initialize: ${error}`);
|
|
69
70
|
throw error;
|
|
70
71
|
}
|
|
71
72
|
}
|
|
72
|
-
//# sourceMappingURL=startPlugin.js.map
|
package/dist/types.d.ts
CHANGED
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
|
-
|
|
8
|
-
//# sourceMappingURL=types.js.map
|
|
6
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xynginc",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.83",
|
|
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
|
-
"
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
"
|
|
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
|
-
"
|
|
30
|
-
|
|
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
|
-
"
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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.83
|
|
3
|
+
Min-Engine: 1.0.81
|
|
4
|
+
Fingerprint: sha256:2e05c6c4adffc16ce7cc1e172e212f7a0ef1c08545612ce7170d7c96ac36d8f1
|
|
5
|
+
Identity: ed25519:a58b17a3e46302dd3ae5538bc9b8b991c57f4c5fe2e7d8ac41803de818d947f4
|
|
6
|
+
Privileges: XHS.HOOK.HTTP.REQUEST,XHS.HOOK.LIFECYCLE.SERVER_READY
|
|
7
|
+
Expires: 2027-04-28T09:43:22Z
|
|
8
|
+
Revision: sha256:none
|
|
9
|
+
--- BEGIN CRYPTOGRAPHIC PROOF ---
|
|
10
|
+
base64:htZVWcVTy/7PLFvF+PQf7S5TZttaVNj2cjs292cawK/QC/bz1xDMtURQCH+nKHh3GnMsspmUWtLFPeZolg8yDA==
|
|
11
|
+
--- END XYPRISS SIGNATURE ---
|
package/dist/constant.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/constant.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
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
|
package/dist/constant.js.map
DELETED
|
@@ -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"}
|
package/dist/downloadBinary.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
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");
|
|
43
|
-
/**
|
|
44
|
-
* Downloads the xynginc binary from GitHub releases.
|
|
45
|
-
*
|
|
46
|
-
* @param version - The version to download (e.g., "latest" or "v1.4.5").
|
|
47
|
-
* @returns The path to the downloaded binary.
|
|
48
|
-
*/
|
|
49
|
-
async function downloadBinary(version) {
|
|
50
|
-
const platform = os.platform();
|
|
51
|
-
const arch = os.arch();
|
|
52
|
-
if (platform !== "linux") {
|
|
53
|
-
throw new Error(`[XyNginC] Unsupported platform: ${platform}. Only Linux is supported.`);
|
|
54
|
-
}
|
|
55
|
-
const binaryName = `${constant_1.BINARY_NAME}-${platform}-${arch}`;
|
|
56
|
-
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}`);
|
|
60
|
-
// Create bin directory
|
|
61
|
-
if (!fs.existsSync(constant_1.BINARY_DIR)) {
|
|
62
|
-
fs.mkdirSync(constant_1.BINARY_DIR, { recursive: true });
|
|
63
|
-
}
|
|
64
|
-
const localPath = path.join(constant_1.BINARY_DIR, constant_1.BINARY_NAME);
|
|
65
|
-
return new Promise((resolve, reject) => {
|
|
66
|
-
function download(url) {
|
|
67
|
-
https
|
|
68
|
-
.get(url, (response) => {
|
|
69
|
-
if (response.statusCode &&
|
|
70
|
-
response.statusCode >= 300 &&
|
|
71
|
-
response.statusCode < 400 &&
|
|
72
|
-
response.headers.location) {
|
|
73
|
-
download(response.headers.location);
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
if (response.statusCode !== 200) {
|
|
77
|
-
reject(new Error(`Failed to download binary: HTTP ${response.statusCode}`));
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
const file = fs.createWriteStream(localPath);
|
|
81
|
-
response.pipe(file);
|
|
82
|
-
file.on("finish", () => {
|
|
83
|
-
file.close();
|
|
84
|
-
fs.chmodSync(localPath, 0o755); // Make executable
|
|
85
|
-
logger_1.Logger.success("[XyNginC] ✓ Binary downloaded successfully");
|
|
86
|
-
resolve(localPath);
|
|
87
|
-
});
|
|
88
|
-
})
|
|
89
|
-
.on("error", (err) => {
|
|
90
|
-
if (fs.existsSync(localPath))
|
|
91
|
-
fs.unlinkSync(localPath);
|
|
92
|
-
reject(err);
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
download(downloadUrl);
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=downloadBinary.js.map
|
|
@@ -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"}
|
package/dist/ensureBinary.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
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");
|
|
13
|
-
/**
|
|
14
|
-
* Ensures the xynginc binary exists.
|
|
15
|
-
* It checks the custom path, the system PATH, and the local bin directory.
|
|
16
|
-
* If not found and autoDownload is enabled, it downloads the binary.
|
|
17
|
-
*
|
|
18
|
-
* @param customPath - Optional custom path to the binary.
|
|
19
|
-
* @param autoDownload - Whether to download the binary if missing.
|
|
20
|
-
* @param version - The version to download.
|
|
21
|
-
* @returns The absolute path to the binary.
|
|
22
|
-
*/
|
|
23
|
-
async function ensureBinary(customPath, autoDownload, version) {
|
|
24
|
-
// 1. Try custom path
|
|
25
|
-
if (customPath && fs_1.default.existsSync(customPath)) {
|
|
26
|
-
return customPath;
|
|
27
|
-
}
|
|
28
|
-
// 2. Try PATH
|
|
29
|
-
try {
|
|
30
|
-
const { stdout } = await (0, execAsync_1.execAsync)("which xynginc");
|
|
31
|
-
const globalPath = stdout.trim();
|
|
32
|
-
if (globalPath && fs_1.default.existsSync(globalPath)) {
|
|
33
|
-
return globalPath;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
// Not in PATH
|
|
38
|
-
}
|
|
39
|
-
// 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)) {
|
|
42
|
-
return localPath;
|
|
43
|
-
}
|
|
44
|
-
// 4. Auto-download if enabled
|
|
45
|
-
if (autoDownload) {
|
|
46
|
-
logger_1.Logger.info("[XyNginC] Binary not found, downloading...");
|
|
47
|
-
return await (0, downloadBinary_1.downloadBinary)(version);
|
|
48
|
-
}
|
|
49
|
-
throw new Error("[XyNginC] Binary not found. Install xynginc or set 'autoDownload: true'");
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=ensureBinary.js.map
|
package/dist/ensureBinary.js.map
DELETED
|
@@ -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"}
|
package/dist/execAsync.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/execAsync.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
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
|
package/dist/execAsync.js.map
DELETED
|
@@ -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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -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,mCAwCzD;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,uBAwCC;AAzDD,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,eAAe,GAAG,KAAK,EACvB,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,eAAe,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC/B,kBAAkB;YAClB,MAAM,IAAA,4BAAc,EAAC,OAAO,EAAE;gBAC5B,YAAY;gBACZ,UAAU;gBACV,eAAe;gBACf,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"}
|
package/dist/logger.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/logger.js.map
DELETED
|
@@ -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;IACN,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,EACD,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CA2Df;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"}
|
package/dist/requirements.js.map
DELETED
|
@@ -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;AAgC9C,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,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB,iBAyFF"}
|
package/dist/startPlugin.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"startPlugin.js","sourceRoot":"","sources":["../src/startPlugin.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts.map
DELETED
|
@@ -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;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;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"}
|