From d10856d16ce30d40710d7ca05408325ead47f50b Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Sat, 20 Jun 2015 22:14:21 +0100 Subject: [PATCH] don't terminate CLI when watching files fail compilation on init - fixes #1678 --- packages/babel-cli/bin/babel/util.js | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/packages/babel-cli/bin/babel/util.js b/packages/babel-cli/bin/babel/util.js index 1de4d894db..1a53d68772 100644 --- a/packages/babel-cli/bin/babel/util.js +++ b/packages/babel-cli/bin/babel/util.js @@ -1,10 +1,11 @@ -var readdir = require("fs-readdir-recursive"); -var index = require("./index"); -var babel = require("babel-core"); -var util = require("babel-core").util; -var path = require("path"); -var fs = require("fs"); -var _ = require("lodash"); +var commander = require("commander"); +var readdir = require("fs-readdir-recursive"); +var index = require("./index"); +var babel = require("babel-core"); +var util = require("babel-core").util; +var path = require("path"); +var fs = require("fs"); +var _ = require("lodash"); exports.readdirFilter = function (filename) { return readdir(filename).filter(function (filename) { @@ -37,6 +38,15 @@ exports.transform = function (filename, code, opts) { }; exports.compile = function (filename, opts) { - var code = fs.readFileSync(filename, "utf8"); - return exports.transform(filename, code, opts); + try { + var code = fs.readFileSync(filename, "utf8"); + return exports.transform(filename, code, opts); + } catch (err) { + if (commander.watch) { + console.error(err.stack); + return { ignored: true }; + } else { + throw err; + } + } };