From 2bf8dde782e935b2421be1445f4b2fe86f61643e Mon Sep 17 00:00:00 2001 From: Veaceslav Cotruta Date: Fri, 30 Nov 2018 03:57:27 +0100 Subject: [PATCH] Propagates the extensions overrides provided by CLI during files walk (#8668) * Propagates the extensions overrides provided by CLI during files walk * Adds tests for issue #7620, PR #8668 --- packages/babel-cli/src/babel/file.js | 6 +++++- packages/babel-cli/src/babel/util.js | 5 ++++- .../in-files/src/bar/bar.es | 1 + .../dir --out-file --extensions/in-files/src/foo.es | 1 + .../babel/dir --out-file --extensions/options.json | 3 +++ .../dir --out-file --extensions/out-files/test.js | 10 ++++++++++ .../babel/dir --out-file --extensions/stdout.txt | 0 7 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/in-files/src/bar/bar.es create mode 100644 packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/in-files/src/foo.es create mode 100644 packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/options.json create mode 100644 packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/out-files/test.js create mode 100644 packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/stdout.txt diff --git a/packages/babel-cli/src/babel/file.js b/packages/babel-cli/src/babel/file.js index 31433b33da..f0678e27ed 100644 --- a/packages/babel-cli/src/babel/file.js +++ b/packages/babel-cli/src/babel/file.js @@ -137,7 +137,11 @@ export default async function({ cliOptions, babelOptions }) { const dirname = filename; util - .readdirForCompilable(filename, cliOptions.includeDotfiles) + .readdirForCompilable( + filename, + cliOptions.includeDotfiles, + cliOptions.extensions, + ) .forEach(function(filename) { _filenames.push(path.join(dirname, filename)); }); diff --git a/packages/babel-cli/src/babel/util.js b/packages/babel-cli/src/babel/util.js index ad972fd0cd..99c9ae9b00 100644 --- a/packages/babel-cli/src/babel/util.js +++ b/packages/babel-cli/src/babel/util.js @@ -29,8 +29,11 @@ export function readdir( export function readdirForCompilable( dirname: string, includeDotfiles: boolean, + altExts?: Array, ) { - return readdir(dirname, includeDotfiles, isCompilableExtension); + return readdir(dirname, includeDotfiles, function(filename) { + return isCompilableExtension(filename, altExts); + }); } /** diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/in-files/src/bar/bar.es b/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/in-files/src/bar/bar.es new file mode 100644 index 0000000000..9e99278492 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/in-files/src/bar/bar.es @@ -0,0 +1 @@ + (() => 42) \ No newline at end of file diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/in-files/src/foo.es b/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/in-files/src/foo.es new file mode 100644 index 0000000000..4bc9539528 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/in-files/src/foo.es @@ -0,0 +1 @@ +arr.map(x => x * MULTIPLIER); diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/options.json b/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/options.json new file mode 100644 index 0000000000..cb501c3b85 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/options.json @@ -0,0 +1,3 @@ +{ + "args": ["src", "--out-file", "test.js", "--extensions", ".es"] +} diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/out-files/test.js b/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/out-files/test.js new file mode 100644 index 0000000000..d3e579815a --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/out-files/test.js @@ -0,0 +1,10 @@ +"use strict"; + +(function () { + return 42; +}); +"use strict"; + +arr.map(function (x) { + return x * MULTIPLIER; +}); diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-file --extensions/stdout.txt new file mode 100644 index 0000000000..e69de29bb2