25 lines
559 B
TypeScript
25 lines
559 B
TypeScript
|
// tslint:disable no-console
|
||
|
|
||
|
import { readFileSync } from 'fs';
|
||
|
|
||
|
import { orderBy } from 'lodash';
|
||
|
|
||
|
import { ExceptionType } from './types';
|
||
|
|
||
|
export const ENCODING = 'utf8';
|
||
|
|
||
|
export function loadJSON(target: string) {
|
||
|
try {
|
||
|
const contents = readFileSync(target, ENCODING);
|
||
|
|
||
|
return JSON.parse(contents);
|
||
|
} catch (error) {
|
||
|
console.log(`Error loading JSON from ${target}: ${error.stack}`);
|
||
|
throw error;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export function sortExceptions(exceptions: Array<ExceptionType>) {
|
||
|
return orderBy(exceptions, ['path', 'lineNumber', 'rule']);
|
||
|
}
|