// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. /** Reads a JSON file and then parses it into an object */ export async function readJson(filePath: string): Promise { const decoder = new TextDecoder("utf-8"); const content = decoder.decode(await Deno.readFile(filePath)); try { return JSON.parse(content); } catch (err) { err.message = `${filePath}: ${err.message}`; throw err; } } /** Reads a JSON file and then parses it into an object */ export function readJsonSync(filePath: string): unknown { const decoder = new TextDecoder("utf-8"); const content = decoder.decode(Deno.readFileSync(filePath)); try { return JSON.parse(content); } catch (err) { err.message = `${filePath}: ${err.message}`; throw err; } }