Merge pull request #3307 from josh/cli-optional-chokidar-dev
babel-cli: Make chokidar dependency optional
This commit is contained in:
commit
aa9dafe05f
@ -13,7 +13,6 @@
|
||||
"babel-runtime": "^5.0.0",
|
||||
"bin-version-check": "^2.1.0",
|
||||
"chalk": "1.1.1",
|
||||
"chokidar": "^1.0.0",
|
||||
"commander": "^2.8.1",
|
||||
"convert-source-map": "^1.1.0",
|
||||
"fs-readdir-recursive": "^0.1.0",
|
||||
@ -28,6 +27,9 @@
|
||||
"source-map": "^0.5.0",
|
||||
"v8flags": "^2.0.10"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"chokidar": "^1.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-helper-fixtures": "^6.3.13"
|
||||
},
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
let outputFileSync = require("output-file-sync");
|
||||
let pathExists = require("path-exists");
|
||||
let chokidar = require("chokidar");
|
||||
let slash = require("slash");
|
||||
let path = require("path");
|
||||
let util = require("./util");
|
||||
@ -65,6 +64,8 @@ module.exports = function (commander, filenames) {
|
||||
_.each(filenames, handle);
|
||||
|
||||
if (commander.watch) {
|
||||
let chokidar = util.requireChokidar();
|
||||
|
||||
_.each(filenames, function (dirname) {
|
||||
let watcher = chokidar.watch(dirname, {
|
||||
persistent: true,
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
let convertSourceMap = require("convert-source-map");
|
||||
let pathExists = require("path-exists");
|
||||
let sourceMap = require("source-map");
|
||||
let chokidar = require("chokidar");
|
||||
let slash = require("slash");
|
||||
let path = require("path");
|
||||
let util = require("./util");
|
||||
@ -133,6 +132,7 @@ module.exports = function (commander, filenames, opts) {
|
||||
walk();
|
||||
|
||||
if (commander.watch) {
|
||||
let chokidar = util.requireChokidar();
|
||||
chokidar.watch(filenames, {
|
||||
persistent: true,
|
||||
ignoreInitial: true
|
||||
|
||||
@ -71,3 +71,12 @@ process.on("uncaughtException", function (err) {
|
||||
console.error(toErrorStack(err));
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
export function requireChokidar() {
|
||||
try {
|
||||
return require("chokidar");
|
||||
} catch (err) {
|
||||
console.error("The optional dependency chokidar failed to install and is required for --watch. Chokidar is likely not supported on your platform.")
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user