From 1c217a940b6b1d636e9a8dea869c71af4742867d Mon Sep 17 00:00:00 2001 From: Julia Afeltra Date: Tue, 4 Feb 2025 17:31:51 -0500 Subject: [PATCH] Filter out entered dependencies without a version --- src/utils/helpers.js | 4 ++++ tests/utils/helpers.test.js | 14 ++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/utils/helpers.js b/src/utils/helpers.js index b67e0b61..798ab5a1 100644 --- a/src/utils/helpers.js +++ b/src/utils/helpers.js @@ -7,6 +7,10 @@ export function sliceDependency(dependencies) { return trimmedDep; } const [packageId, version] = trimmedDep.split('#'); + if (version == null) { + // Don't include the dependency if a version wasn't provided (or there was a typo and no # was provided) + return; + } return { packageId, version }; }) .filter((d) => d); // filter out any empty strings diff --git a/tests/utils/helpers.test.js b/tests/utils/helpers.test.js index 52902416..80ea773c 100644 --- a/tests/utils/helpers.test.js +++ b/tests/utils/helpers.test.js @@ -3,8 +3,8 @@ import { sliceDependency } from '../../src/utils/helpers'; describe('#sliceDependency()', () => { it('should correctly parse a given array of dependencies', () => { const input = 'hl7.fhir.us.core#3.1.1, , testing#123'; - const returnArr = sliceDependency(input); - expect(returnArr).toEqual([ + const dependencies = sliceDependency(input); + expect(dependencies).toEqual([ { packageId: 'hl7.fhir.us.core', version: '3.1.1' }, { packageId: 'testing', version: '123' } ]); @@ -12,7 +12,13 @@ describe('#sliceDependency()', () => { it('should correctly parse an empty array of dependencies', () => { const input = ''; - const returnArr = sliceDependency(input); - expect(returnArr).toEqual([]); + const dependencies = sliceDependency(input); + expect(dependencies).toEqual([]); + }); + + it('should filter out dependencies that do not specify a version', () => { + const input = 'hl7.fhir.example.typo@1.0.0, hl7.fhir.us.core#3.1.1, hl7.fhir.example.noversion'; + const dependencies = sliceDependency(input); + expect(dependencies).toEqual([{ packageId: 'hl7.fhir.us.core', version: '3.1.1' }]); }); });