From 2b3d2bd6a4c6967e0dfaa8ac7eb28cebf132369e Mon Sep 17 00:00:00 2001 From: Thijs Louisse Date: Thu, 28 Apr 2022 13:12:21 +0200 Subject: [PATCH] chore: use package.mock.json for allowing non-existing npm deps in it --- .../src/program/services/InputDataService.js | 12 +++++++++--- .../{package.json => package.mock.json} | 0 .../{package.json => package.mock.json} | 0 3 files changed, 9 insertions(+), 3 deletions(-) rename packages-node/providence-analytics/test-helpers/project-mocks/importing-target-project/node_modules/exporting-ref-project/{package.json => package.mock.json} (100%) rename packages-node/providence-analytics/test-helpers/project-mocks/importing-target-project/{package.json => package.mock.json} (100%) diff --git a/packages-node/providence-analytics/src/program/services/InputDataService.js b/packages-node/providence-analytics/src/program/services/InputDataService.js index 8338816c9..d0e645e68 100644 --- a/packages-node/providence-analytics/src/program/services/InputDataService.js +++ b/packages-node/providence-analytics/src/program/services/InputDataService.js @@ -49,7 +49,14 @@ function getPackageJson(rootPath) { const fileContent = fs.readFileSync(`${rootPath}/package.json`, 'utf8'); return JSON.parse(fileContent); } catch (_) { - return undefined; + try { + // For testing purposes, we allow to have a package.mock.json that contains 'fictional' + // packages (like 'exporting-ref-project') not on npm registry + const fileContent = fs.readFileSync(`${rootPath}/package.mock.json`, 'utf8'); + return JSON.parse(fileContent); + } catch (__) { + return undefined; + } } } @@ -252,8 +259,7 @@ class InputDataService { const project = { path: projectPath }; // Add project meta info try { - const file = pathLib.resolve(projectPath, 'package.json'); - const pkgJson = JSON.parse(fs.readFileSync(file, 'utf8')); + const pkgJson = getPackageJson(projectPath); // eslint-disable-next-line no-param-reassign project.mainEntry = this.__normalizeMainEntry(pkgJson.main || './index.js'); // eslint-disable-next-line no-param-reassign diff --git a/packages-node/providence-analytics/test-helpers/project-mocks/importing-target-project/node_modules/exporting-ref-project/package.json b/packages-node/providence-analytics/test-helpers/project-mocks/importing-target-project/node_modules/exporting-ref-project/package.mock.json similarity index 100% rename from packages-node/providence-analytics/test-helpers/project-mocks/importing-target-project/node_modules/exporting-ref-project/package.json rename to packages-node/providence-analytics/test-helpers/project-mocks/importing-target-project/node_modules/exporting-ref-project/package.mock.json diff --git a/packages-node/providence-analytics/test-helpers/project-mocks/importing-target-project/package.json b/packages-node/providence-analytics/test-helpers/project-mocks/importing-target-project/package.mock.json similarity index 100% rename from packages-node/providence-analytics/test-helpers/project-mocks/importing-target-project/package.json rename to packages-node/providence-analytics/test-helpers/project-mocks/importing-target-project/package.mock.json