1- import  fs  from  'node:fs' ; 
2- import  {  bundleAndLoadRuleset  }  from  '@stoplight/spectral-ruleset-bundler/with-loader' ; 
31import  {  EntryType  }  from  '../collector.js' ; 
4- 
5- export  function  loadOpenAPIFile ( filePath )  { 
6-   try  { 
7-     const  content  =  fs . readFileSync ( filePath ,  'utf8' ) ; 
8-     return  JSON . parse ( content ) ; 
9-   }  catch  ( error )  { 
10-     throw  new  Error ( `Failed to load OpenAPI file: ${ error . message }  ` ) ; 
11-   } 
12- } 
2+ import  {  loadJsonFile  }  from  '../../utils.js' ; 
133
144export  function  getSeverityPerRule ( ruleset )  { 
155  const  rules  =  ruleset . rules  ||  { } ; 
@@ -20,16 +10,6 @@ export function getSeverityPerRule(ruleset) {
2010  return  map ; 
2111} 
2212
23- export  async  function  loadRuleset ( rulesetPath ,  spectral )  { 
24-   try  { 
25-     const  ruleset  =  await  bundleAndLoadRuleset ( rulesetPath ,  {  fs,  fetch } ) ; 
26-     await  spectral . setRuleset ( ruleset ) ; 
27-     return  ruleset ; 
28-   }  catch  ( error )  { 
29-     throw  new  Error ( `Failed to load ruleset: ${ error . message }  ` ) ; 
30-   } 
31- } 
32- 
3313export  function  extractTeamOwnership ( oasContent )  { 
3414  const  ownerTeams  =  { } ; 
3515  const  paths  =  oasContent . paths  ||  { } ; 
@@ -53,15 +33,14 @@ export function extractTeamOwnership(oasContent) {
5333
5434export  function  loadCollectorResults ( collectorResultsFilePath )  { 
5535  try  { 
56-     const  content  =  fs . readFileSync ( collectorResultsFilePath ,  'utf8' ) ; 
57-     const  contentParsed  =  JSON . parse ( content ) ; 
36+     const  content  =  loadJsonFile ( collectorResultsFilePath ) ; 
5837    return  { 
59-       [ EntryType . VIOLATION ] : contentParsed [ EntryType . VIOLATION ] , 
60-       [ EntryType . ADOPTION ] : contentParsed [ EntryType . ADOPTION ] , 
61-       [ EntryType . EXCEPTION ] : contentParsed [ EntryType . EXCEPTION ] , 
38+       [ EntryType . VIOLATION ] : content [ EntryType . VIOLATION ] , 
39+       [ EntryType . ADOPTION ] : content [ EntryType . ADOPTION ] , 
40+       [ EntryType . EXCEPTION ] : content [ EntryType . EXCEPTION ] , 
6241    } ; 
6342  }  catch  ( error )  { 
64-     throw  new  Error ( `Failed to load  Collector Results file : ${ error . message }  ` ) ; 
43+     throw  new  Error ( `Failed to parse  Collector Results: ${ error . message }  ` ) ; 
6544  } 
6645} 
6746
0 commit comments