From dfa5d9ad16d25dcf88d1d9775c28799957fa7549 Mon Sep 17 00:00:00 2001 From: Danielv123 Date: Thu, 29 Mar 2018 19:31:56 +0200 Subject: [PATCH] still trying to fix paths --- node_modules/_app/factorioServer/index.js | 15 ++++++++++----- node_modules/_app/factorioServer/index.spec.js | 12 +++++++++--- package.json | 1 + 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/node_modules/_app/factorioServer/index.js b/node_modules/_app/factorioServer/index.js index 8be7dbaf..a5f0ec87 100644 --- a/node_modules/_app/factorioServer/index.js +++ b/node_modules/_app/factorioServer/index.js @@ -12,8 +12,10 @@ This class has the responsiblity of : const fs = require("fs"); const child_process = require("child_process"); +const path = require("path"); const mkdirp = require("mkdirp"); +const appRootPath = require("app-root-path"); const fileOps = require("_app/fileOps"); @@ -125,12 +127,15 @@ module.exports = class factorioServer { await createInstance(); } this.onProgress("log", "Starting map creation"); + console.log(this.factorioDirectory + '/bin/x64/factorio') let code = child_process.spawnSync( - this.factorioDirectory + '/bin/x64/factorio', [ - '-c', this.instanceDirectory + '/config.ini', - '--create', this.instanceDirectory + '/saves/'+name, - '--server-settings', this.instanceDirectory + '/server-settings.json', - ] + path.resolve(this.factorioDirectory, 'bin', 'x64', 'factorio'), [ + '-c', path.resolve(this.instanceDirectory,'config.ini'), + '--create', path.resolve(this.instanceDirectory, 'saves',name), + '--server-settings', path.resolve(this.instanceDirectory, 'server-settings.json'), + ],{ + cwd:process.cwd(), + } ); console.log(code.stdout.toString("utf8")) console.log(code) diff --git a/node_modules/_app/factorioServer/index.spec.js b/node_modules/_app/factorioServer/index.spec.js index 16342897..2632118d 100644 --- a/node_modules/_app/factorioServer/index.spec.js +++ b/node_modules/_app/factorioServer/index.spec.js @@ -2,6 +2,8 @@ const assert = require("assert"); const fs = require("fs"); const path = require("path"); +const appRootPath = require("app-root-path"); + const factorioServer = require("./index.js"); describe("factorioServer/index.js", ()=>{ @@ -53,15 +55,19 @@ describe("factorioServer/index.js", ()=>{ }); describe(".createMap()", ()=>{ it("creates a map file as instanceDirectory/saves/map.zip", async ()=>{ + let relativePath = __dirname.replace(appRootPath, "").substr(1); let server = new factorioServer({ - instanceDirectory: path.resolve(__dirname, "_testData_createMap"), + instanceDirectory: path.resolve(appRootPath+"", relativePath, "_testData_createMap"), instanceName: "Unit testing instance", }); await server.initialize(); - let maps = fs.readdirSync(path.resolve(__dirname, "_testData_createMap", "saves")); + console.log(appRootPath+"") + console.log(relativePath) + console.log(path.resolve(appRootPath+"", relativePath, "_testData_createMap", "saves")) + let maps = fs.readdirSync(path.resolve(appRootPath+"", relativePath, "_testData_createMap", "saves")); assert.equal(maps.length, 0); await server.createMap(); - let maps2 = fs.readdirSync(path.resolve(__dirname, "_testData_createMap", "saves")); + let maps2 = fs.readdirSync(path.resolve(appRootPath+"", relativePath, "_testData_createMap", "saves")); assert(maps2.includes("map.zip")); server.deleteInstance(); diff --git a/package.json b/package.json index 451dbc6e..d4349259 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "author": "Danielv123", "license": "ISC", "dependencies": { + "app-root-path": "^2.0.1", "as-table": "^1.0.31", "averaged-timeseries": "^1.4.0", "body-parser": "^1.18.2",