From 770ae5fbd00b6acae473bf9d9af8ee72e45f8db1 Mon Sep 17 00:00:00 2001 From: Dorian Niemiec Date: Sun, 26 Jan 2025 18:11:02 +0100 Subject: [PATCH] build: modify SVR.JS configuration in installation script --- package-lock.json | 19 ++++++++++++++++--- package.json | 1 + svrjs.install.js | 21 +++++++++++++++++++++ 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f887a42..0e318c3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,6 +31,7 @@ "prettier": "^3.3.3", "rimraf": "^5.0.10", "wait-on": "^8.0.1", + "yaml": "^2.7.0", "zip": "^1.2.0" } }, @@ -5897,6 +5898,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lint-staged/node_modules/yaml": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", + "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/listr2": { "version": "8.2.5", "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", @@ -8021,9 +8034,9 @@ "dev": true }, "node_modules/yaml": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", - "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", + "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" diff --git a/package.json b/package.json index ae4c473..0dc62b0 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "prettier": "^3.3.3", "rimraf": "^5.0.10", "wait-on": "^8.0.1", + "yaml": "^2.7.0", "zip": "^1.2.0" }, "dependencies": { 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."); }); }