diff --git a/CICD/compareTestResults.js b/CICD/compareTestResults.js index 35dff6e..b055abf 100644 --- a/CICD/compareTestResults.js +++ b/CICD/compareTestResults.js @@ -1,6 +1,6 @@ const fs = require("fs"); -const log = require("../src//common/log"); +const log = require("../src/common/log"); log.setLogLevel(log.logLevels.verbose); diff --git a/src/forge/index.js b/src/forge/index.js index 3be4390..414b58e 100644 --- a/src/forge/index.js +++ b/src/forge/index.js @@ -1,7 +1,7 @@ const path = require("path"); const fs = require("fs"); -const generate = require("./generate"); +const generate = require("../generate"); const generatorResolver = require("../common/generatorResolver"); const { configToCommanderOptions, diff --git a/src/forge/generate.js b/src/generate.js similarity index 94% rename from src/forge/generate.js rename to src/generate.js index 36b69e2..9ea4dfe 100644 --- a/src/forge/generate.js +++ b/src/generate.js @@ -1,3 +1,6 @@ +// IMPORTANT: This file is used in the generators, so you will need to change them if this file is moved. +// See issue https://github.com/ScottLogic/openapi-forge/issues/158 + const fs = require("fs"); const path = require("path"); @@ -7,10 +10,10 @@ const minimatch = require("minimatch"); const fetch = require("node-fetch"); const { parse } = require("yaml"); -const generatorResolver = require("../common/generatorResolver"); -const helpers = require("../helpers"); -const log = require("../common/log"); -const transformers = require("../transformers"); +const generatorResolver = require("./common/generatorResolver"); +const helpers = require("./helpers"); +const log = require("./common/log"); +const transformers = require("./transformers"); const SwaggerParser = require("@apidevtools/swagger-parser"); const converter = require("swagger2openapi"); @@ -157,6 +160,8 @@ function getFilesInFolders(basePath, partialPath = "") { }); } +// IMPORTANT: This function is used in the generators, so be careful when modifying! +// See issue https://github.com/ScottLogic/openapi-forge/issues/158 async function generate(schemaPathOrUrl, generatorPath, options) { log.setLogLevel(options.logLevel); log.logTitle(); diff --git a/src/testGenerators/testGenerators.js b/src/testGenerators/testGenerators.js index fe88fd9..dfe8cb6 100644 --- a/src/testGenerators/testGenerators.js +++ b/src/testGenerators/testGenerators.js @@ -52,7 +52,18 @@ function testGenerators(options) { options.generators.forEach((generator) => { try { const generatorPath = path.resolve( - path.join(__dirname, "..", "..", generator) + // Assuming the file structure: + // - openapi-forge + // |- src + // |- testGenerators + // |- testGenerators.js + // - openapi-forge-javascript + // - openapi-forge-... + // + // The generators must be in the above location, otherwise this test-generators command will not work. + // If you move this file, the test-generators command will not work unless you fix the line below. + // We need to go up three directories to get to the root of openapi-forge: + path.join(__dirname, "..", "..", "..", generator) ); log.standard(`Starting tests for generator ${generator}`); diff --git a/test/generate.test.js b/test/generate.test.js index 548baf9..736cc4d 100644 --- a/test/generate.test.js +++ b/test/generate.test.js @@ -2,7 +2,7 @@ const fs = require("fs"); const path = require("path"); const Handlebars = require("handlebars"); -const generate = require("../src/forge/generate"); +const generate = require("../src/generate"); const generatorResolver = require("../src/common/generatorResolver"); jest.mock("fs");