From 8ffc7012ccb00e6ab615c55d9911841efb54154a Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Tue, 3 Nov 2015 10:57:32 +0000 Subject: [PATCH] autoclear cache when it gets too big - fixes #2678 --- packages/babel-core/src/api/register/cache.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/babel-core/src/api/register/cache.js b/packages/babel-core/src/api/register/cache.js index d02b8694e1..2682714f5b 100644 --- a/packages/babel-core/src/api/register/cache.js +++ b/packages/babel-core/src/api/register/cache.js @@ -13,7 +13,18 @@ let data = {}; */ export function save() { - fs.writeFileSync(FILENAME, JSON.stringify(data, null, " ")); + let serialised = {}; + try { + serialised = JSON.stringify(data, null, " "); + } catch (err) { + if (err.message === "Invalid string length") { + err.message = "Cache too large so it's been cleared."; + console.error(err.stack); + } else { + throw err; + } + } + fs.writeFileSync(FILENAME, serialised); } /**