From 5183ba25880d620ad6735170b46c2b85da2b5129 Mon Sep 17 00:00:00 2001 From: Dorian Niemiec Date: Sun, 26 Jan 2025 18:10:15 +0100 Subject: [PATCH] build: modify SVR.JS configuration in installation script --- package-lock.json | 13 +++++++++++++ package.json | 1 + svrjs.install.js | 21 +++++++++++++++++++++ 3 files changed, 35 insertions(+) diff --git a/package-lock.json b/package-lock.json index 684f73e..00c5ad4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,6 +22,7 @@ "prettier": "^3.3.3", "rimraf": "^5.0.10", "wait-on": "^8.0.1", + "yaml": "^2.7.0", "zip": "^1.2.0" } }, @@ -5757,6 +5758,18 @@ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, + "node_modules/yaml": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", diff --git a/package.json b/package.json index 31fbdab..bd522cd 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "prettier": "^3.3.3", "rimraf": "^5.0.10", "wait-on": "^8.0.1", + "yaml": "^2.7.0", "zip": "^1.2.0" } } diff --git a/svrjs.install.js b/svrjs.install.js index 97b951f..bf4aba8 100644 --- a/svrjs.install.js +++ b/svrjs.install.js @@ -4,6 +4,7 @@ const fs = require("fs"); const https = require("https"); const zip = require("zip"); const zlib = require("zlib"); +const YAML = require("yaml"); function downloadSVRJS(version) { const normalizedVersion = version.toLowerCase().replace(/[^0-9a-z]+/g, "."); @@ -68,6 +69,26 @@ function downloadSVRJS(version) { fs.unlinkSync(__dirname + "/svrjs/svr.compressed"); fs.writeFileSync(__dirname + "/svrjs/svr.js", script); } + if (fs.existsSync(__dirname + "/svrjs/svrjs.yaml")) { + console.log("Modifying SVR.JS configuration..."); + let svrjsConfig = YAML.parse(fs.readFileSync(__dirname + "/svrjs/svrjs.yaml")); + if (!svrjsConfig) svrjsConfig = {}; + if (!svrjsConfig.global) svrjsConfig.global = {}; + svrjsConfig.global.enableDirectoryListing = true; + svrjsConfig.global.stackHidden = false; + svrjsConfig.global.exposeServerVersion = true; + svrjsConfig.global.exposeModsInErrorPages = true; + fs.writeFileSync(__dirname + "/svrjs/svrjs.yaml", YAML.stringify(svrjsConfig)); + } else if (fs.existsSync(__dirname + "/svrjs/config.json")) { + console.log("Modifying SVR.JS configuration..."); + let svrjsConfig = JSON.parse(fs.readFileSync(__dirname + "/svrjs/config.json")); + if (!svrjsConfig) svrjsConfig = {}; + svrjsConfig.enableDirectoryListing = true; + svrjsConfig.stackHidden = false; + svrjsConfig.exposeServerVersion = true; + svrjsConfig.exposeModsInErrorPages = true; + fs.writeFileSync(__dirname + "/svrjs/svrjs.yaml", JSON.stringify(svrjsConfig, null, 2)); + } console.log("SVR.JS is installed successfully."); }); }