import parseJsonType from 'parse-json' ; import yamlType from 'yaml' ; import importFreshType from 'import-fresh' ; import { LoaderSync } from './index' ; import { LoadersSync } from './types' ; let importFresh ; const loadJs = function loadJs ( filepath ) { if ( importFresh === undefined ) { importFresh = require ( 'import-fresh' ) ; } const result = importFresh ( filepath ) ; return result ; } ; let parseJson ; const loadJson = function loadJson ( filepath , content ) { if ( parseJson === undefined ) { parseJson = require ( 'parse-json' ) ; } try { const result = parseJson ( content ) ; return result ; } catch ( error ) { error . message = `JSON Error in ${ filepath }:\n${ error . message }` ; throw error ; } } ; let yaml ; const loadYaml = function loadYaml ( filepath , content ) { if ( yaml === undefined ) { yaml = require ( 'yaml' ) ; } try { const result = yaml . parse ( content , { prettyErrors : true } ) ; return result ; } catch ( error ) { error . message = `YAML Error in ${ filepath }:\n${ error . message }` ; throw error ; } } ; const loaders = { loadJs , loadJson , loadYaml } ; export { loaders } ;