From ff5a0688f312321e926735d071e350dd2d6045d8 Mon Sep 17 00:00:00 2001 From: SamTV12345 <40429738+samtv12345@users.noreply.github.com> Date: Wed, 21 Feb 2024 22:22:38 +0100 Subject: [PATCH] Fixed settings. --- src/node/db/Pad.js | 2 +- src/node/db/ReadOnlyManager.js | 2 +- src/node/db/SessionManager.js | 2 +- src/node/utils/LibreOffice.js | 4 ++-- src/node/utils/run_cmd.ts | 10 +++++----- src/package.json | 1 + src/static/js/pluginfw/plugins.js | 10 +++++----- src/tests/backend/specs/api/importexportGetPost.js | 1 + src/tests/backend/specs/favicon.js | 10 +++++----- 9 files changed, 22 insertions(+), 20 deletions(-) diff --git a/src/node/db/Pad.js b/src/node/db/Pad.js index 9eb07e124..57c1f68c2 100644 --- a/src/node/db/Pad.js +++ b/src/node/db/Pad.js @@ -17,7 +17,7 @@ const padMessageHandler = require('../handler/PadMessageHandler'); const groupManager = require('./GroupManager'); const CustomError = require('../utils/customError'); const readOnlyManager = require('./ReadOnlyManager'); -const randomString = require('../utils/randomstring'); +import randomString from '../utils/randomstring'; const hooks = require('../../static/js/pluginfw/hooks'); const {padutils: {warnDeprecated}} = require('../../static/js/pad_utils'); const promises = require('../utils/promises'); diff --git a/src/node/db/ReadOnlyManager.js b/src/node/db/ReadOnlyManager.js index b96dd3413..f005c5531 100644 --- a/src/node/db/ReadOnlyManager.js +++ b/src/node/db/ReadOnlyManager.js @@ -21,7 +21,7 @@ const db = require('./DB'); -const randomString = require('../utils/randomstring'); +import randomString from '../utils/randomstring'; /** diff --git a/src/node/db/SessionManager.js b/src/node/db/SessionManager.js index 3d39ed747..fc1535df4 100644 --- a/src/node/db/SessionManager.js +++ b/src/node/db/SessionManager.js @@ -22,7 +22,7 @@ const CustomError = require('../utils/customError'); const promises = require('../utils/promises'); -const randomString = require('../utils/randomstring'); +import randomString from '../utils/randomstring'; const db = require('./DB'); const groupManager = require('./GroupManager'); const authorManager = require('./AuthorManager'); diff --git a/src/node/utils/LibreOffice.js b/src/node/utils/LibreOffice.js index e42016aa5..548c1cd3b 100644 --- a/src/node/utils/LibreOffice.js +++ b/src/node/utils/LibreOffice.js @@ -23,14 +23,14 @@ const log4js = require('log4js'); const os = require('os'); const path = require('path'); const runCmd = require('./run_cmd'); -import {soffice} from './Settings'; +import {settings} from './Settings'; const logger = log4js.getLogger('LibreOffice'); const doConvertTask = async (task) => { const tmpDir = os.tmpdir(); const p = runCmd([ - soffice, + settings.soffice, '--headless', '--invisible', '--nologo', diff --git a/src/node/utils/run_cmd.ts b/src/node/utils/run_cmd.ts index 80dc84b72..e976c0cb3 100644 --- a/src/node/utils/run_cmd.ts +++ b/src/node/utils/run_cmd.ts @@ -5,11 +5,11 @@ import {ChildProcess} from "node:child_process"; import {PromiseWithStd} from "../types/PromiseWithStd"; import {Readable} from "node:stream"; -import {root, settings} from "./Settings"; +import {root} from "./Settings"; -const spawn = require('cross-spawn'); -const log4js = require('log4js'); -const path = require('path'); +import spawn from 'cross-spawn'; +import log4js from 'log4js'; +import path from 'path'; const logger = log4js.getLogger('runCmd'); const logLines = (readable: undefined | Readable | null, logLineFn: (arg0: (string | undefined)) => void) => { @@ -74,7 +74,7 @@ const logLines = (readable: undefined | Readable | null, logLineFn: (arg0: (stri * - `stderr`: Similar to `stdout` but for stderr. * - `child`: The ChildProcess object. */ -module.exports = exports = (args: string[], opts:RunCMDOptions = {}) => { +module.exports = exports = (args: string[], opts:any = {}) => { logger.debug(`Executing command: ${args.join(' ')}`); opts = {cwd: root, ...opts}; diff --git a/src/package.json b/src/package.json index c275bb3dd..d39f6668f 100644 --- a/src/package.json +++ b/src/package.json @@ -80,6 +80,7 @@ }, "devDependencies": { "@types/async": "^3.2.24", + "@types/cross-spawn": "^6.0.6", "@types/express": "^4.17.21", "@types/formidable": "^3.4.5", "@types/jsonminify": "^0.4.3", diff --git a/src/static/js/pluginfw/plugins.js b/src/static/js/pluginfw/plugins.js index ef434d404..b57068620 100644 --- a/src/static/js/pluginfw/plugins.js +++ b/src/static/js/pluginfw/plugins.js @@ -9,7 +9,7 @@ const tsort = require('./tsort'); const pluginUtils = require('./shared'); const defs = require('./plugin_defs'); const {manager} = require('./installer'); -const settings = require("../../../node/utils/Settings"); +import {getEpVersion, root, settings} from "../../../node/utils/Settings"; const logger = log4js.getLogger('plugins'); @@ -121,10 +121,10 @@ exports.getPackages = async () => { newDependencies['ep_etherpad-lite'] = { name: 'ep_etherpad-lite', - version: settings.getEpVersion(), - path: path.join(settings.root, 'node_modules/ep_etherpad-lite'), - realPath: path.join(settings.root, 'src'), - } + version: getEpVersion(), + path: path.join(root, 'node_modules/ep_etherpad-lite'), + realPath: path.join(root, 'src'), + }; return newDependencies; }; diff --git a/src/tests/backend/specs/api/importexportGetPost.js b/src/tests/backend/specs/api/importexportGetPost.js index 968c71316..4bcdc23f0 100644 --- a/src/tests/backend/specs/api/importexportGetPost.js +++ b/src/tests/backend/specs/api/importexportGetPost.js @@ -190,6 +190,7 @@ describe(__filename, function () { before(async function () { if ((!settings.abiword || settings.abiword.indexOf('/') === -1) && (!settings.soffice || settings.soffice.indexOf('/') === -1)) { + console.log('Skipping AbiWord/LibreOffice tests because abiword or soffice is not set.'); this.skip(); } }); diff --git a/src/tests/backend/specs/favicon.js b/src/tests/backend/specs/favicon.js index 4823c35c0..55ba526fd 100644 --- a/src/tests/backend/specs/favicon.js +++ b/src/tests/backend/specs/favicon.js @@ -5,7 +5,7 @@ const common = require('../common'); const fs = require('fs'); const fsp = fs.promises; const path = require('path'); -import {settings} from '../../../node/utils/Settings' +import {root, settings} from '../../../node/utils/Settings' const superagent = require('superagent'); describe(__filename, function () { @@ -19,13 +19,13 @@ describe(__filename, function () { before(async function () { agent = await common.init(); wantCustomIcon = await fsp.readFile(path.join(__dirname, 'favicon-test-custom.png')); - wantDefaultIcon = await fsp.readFile(path.join(settings.root, 'src', 'static', 'favicon.ico')); + wantDefaultIcon = await fsp.readFile(path.join(root, 'src', 'static', 'favicon.ico')); wantSkinIcon = await fsp.readFile(path.join(__dirname, 'favicon-test-skin.png')); }); beforeEach(async function () { backupSettings = {...settings}; - skinDir = await fsp.mkdtemp(path.join(settings.root, 'src', 'static', 'skins', 'test-')); + skinDir = await fsp.mkdtemp(path.join(root, 'src', 'static', 'skins', 'test-')); settings.skinName = path.basename(skinDir); }); @@ -43,7 +43,7 @@ describe(__filename, function () { it('uses custom favicon if set (relative pathname)', async function () { settings.favicon = - path.relative(settings.root, path.join(__dirname, 'favicon-test-custom.png')); + path.relative(root, path.join(__dirname, 'favicon-test-custom.png')); assert(!path.isAbsolute(settings.favicon)); const {body: gotIcon} = await agent.get('/favicon.ico') .accept('png').buffer(true).parse(superagent.parse.image) @@ -69,7 +69,7 @@ describe(__filename, function () { it('falls back if custom favicon is missing', async function () { // The previous default for settings.favicon was 'favicon.ico', so many users will continue to // have that in their settings.json for a long time. There is unlikely to be a favicon at - // path.resolve(settings.root, 'favicon.ico'), so this test ensures that 'favicon.ico' won't be + // path.resolve(root, 'favicon.ico'), so this test ensures that 'favicon.ico' won't be // a problem for those users. settings.favicon = 'favicon.ico'; const {body: gotIcon} = await agent.get('/favicon.ico')