From 9cd4716cb45d90730025d954539bb9a970c10c65 Mon Sep 17 00:00:00 2001 From: Brian Ng Date: Mon, 2 Oct 2017 08:55:53 -0500 Subject: [PATCH] Add --include-dotfiles option to babel-cli (#6232) --- packages/babel-cli/src/babel/dir.js | 11 +++++--- packages/babel-cli/src/babel/file.js | 8 +++--- packages/babel-cli/src/babel/index.js | 7 +++++- packages/babel-cli/src/babel/util.js | 25 ++++++++++++++----- .../in-files/src/.foorc | 0 .../in-files/src/README.md | 0 .../in-files/src/foo/.foo.js | 1 + .../in-files/src/foo/index.js | 1 + .../in-files/src/index.js | 1 + .../options.json | 9 +++++++ .../out-files/lib/.foorc | 0 .../out-files/lib/README.md | 0 .../out-files/lib/foo/.foo.js | 1 + .../out-files/lib/foo/index.js | 1 + .../out-files/lib/index.js | 3 +++ .../stdout.txt | 1 + .../in-files/src/.foorc | 0 .../in-files/src/README.md | 0 .../in-files/src/foo/.foo.js | 1 + .../in-files/src/foo/bar.js | 1 + .../in-files/src/index.js | 1 + .../options.json | 9 +++++++ .../out-files/lib/.foorc | 0 .../out-files/lib/README.md | 0 .../out-files/lib/foo/.foo.js | 3 +++ .../out-files/lib/foo/bar.js | 3 +++ .../out-files/lib/index.js | 1 + .../stdout.txt | 2 ++ .../in-files/src/.foo.js | 1 + .../in-files/src/.foorc | 0 .../in-files/src/README.md | 0 .../in-files/src/bar/index.js | 1 + .../in-files/src/foo/foo.js | 0 .../options.json | 3 +++ .../out-files/lib/.foo.js | 3 +++ .../out-files/lib/.foorc | 0 .../out-files/lib/README.md | 0 .../out-files/lib/bar/index.js | 3 +++ .../out-files/lib/foo/foo.js | 0 .../stdout.txt | 3 +++ .../in-files/src/.foorc | 0 .../in-files/src/.foorc | 0 packages/babel-cli/test/index.js | 8 ++++-- 43 files changed, 96 insertions(+), 16 deletions(-) create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/.foorc create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/README.md create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/foo/.foo.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/foo/index.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/index.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/options.json create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/.foorc create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/README.md create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/foo/.foo.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/foo/index.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/index.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/stdout.txt create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/.foorc create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/README.md create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/foo/.foo.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/foo/bar.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/index.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/options.json create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/.foorc create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/README.md create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/foo/.foo.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/foo/bar.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/index.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/stdout.txt create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/.foo.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/.foorc create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/README.md create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/bar/index.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/foo/foo.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/options.json create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/.foo.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/.foorc create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/README.md create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/bar/index.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/foo/foo.js create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/stdout.txt create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files with ignore/in-files/src/.foorc create mode 100644 packages/babel-cli/test/fixtures/babel/--copy-files with only/in-files/src/.foorc diff --git a/packages/babel-cli/src/babel/dir.js b/packages/babel-cli/src/babel/dir.js index 35d813c9f3..ca6b29c49f 100644 --- a/packages/babel-cli/src/babel/dir.js +++ b/packages/babel-cli/src/babel/dir.js @@ -71,10 +71,13 @@ export default function(commander, filenames, opts) { if (commander.deleteDirOnStart) { util.deleteDir(commander.outDir); } - util.readdir(dirname).forEach(function(filename) { - const src = path.join(dirname, filename); - handleFile(src, filename, dirname); - }); + + util + .readdir(dirname, commander.includeDotfiles) + .forEach(function(filename) { + const src = path.join(dirname, filename); + handleFile(src, filename, dirname); + }); } else { write(filename, path.basename(filename), path.dirname(filename)); } diff --git a/packages/babel-cli/src/babel/file.js b/packages/babel-cli/src/babel/file.js index 79ceef3f6a..480447a45a 100644 --- a/packages/babel-cli/src/babel/file.js +++ b/packages/babel-cli/src/babel/file.js @@ -130,9 +130,11 @@ export default function(commander, filenames, opts) { if (stat.isDirectory()) { const dirname = filename; - util.readdirFilter(filename).forEach(function(filename) { - _filenames.push(path.join(dirname, filename)); - }); + util + .readdirForCompilable(filename, commander.includeDotfiles) + .forEach(function(filename) { + _filenames.push(path.join(dirname, filename)); + }); } else { _filenames.push(filename); } diff --git a/packages/babel-cli/src/babel/index.js b/packages/babel-cli/src/babel/index.js index 9651416608..c0cea9e6c4 100755 --- a/packages/babel-cli/src/babel/index.js +++ b/packages/babel-cli/src/babel/index.js @@ -154,10 +154,14 @@ commander.option( "-D, --copy-files", "When compiling a directory copy over non-compilable files", ); +commander.option( + "--include-dotfiles", + "Include dotfiles when compiling and copying non-compilable files", +); commander.option("-q, --quiet", "Don't log anything"); commander.option( "--delete-dir-on-start", - "Delete's the out directory before compilation", + "Delete the out directory before compilation", ); /* eslint-enable max-len */ @@ -233,6 +237,7 @@ delete opts.skipInitialBuild; delete opts.outFile; delete opts.outDir; delete opts.copyFiles; +delete opts.includeDotfiles; delete opts.quiet; delete opts.configFile; delete opts.deleteDirOnStart; diff --git a/packages/babel-cli/src/babel/util.js b/packages/babel-cli/src/babel/util.js index cf7304d59f..17ab0c4f3a 100644 --- a/packages/babel-cli/src/babel/util.js +++ b/packages/babel-cli/src/babel/util.js @@ -1,5 +1,5 @@ import commander from "commander"; -import readdir from "fs-readdir-recursive"; +import readdirRecursive from "fs-readdir-recursive"; import * as babel from "babel-core"; import includes from "lodash/includes"; import path from "path"; @@ -9,13 +9,26 @@ export function chmod(src, dest) { fs.chmodSync(dest, fs.statSync(src).mode); } -export function readdirFilter(filename) { - return readdir(filename).filter(function(filename) { - return isCompilableExtension(filename); - }); +type ReaddirFilter = (filename: string) => boolean; + +export function readdir( + dirname: string, + includeDotfiles: boolean, + filter: ReaddirFilter, +) { + return readdirRecursive( + dirname, + filename => + (includeDotfiles || filename[0] !== ".") && (!filter || filter(filename)), + ); } -export { readdir }; +export function readdirForCompilable( + dirname: string, + includeDotfiles: boolean, +) { + return readdir(dirname, includeDotfiles, isCompilableExtension); +} /** * Test if a filename ends with a compilable extension. diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/.foorc b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/.foorc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/README.md b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/foo/.foo.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/foo/.foo.js new file mode 100644 index 0000000000..31142aabfe --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/foo/.foo.js @@ -0,0 +1 @@ +a; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/foo/index.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/foo/index.js new file mode 100644 index 0000000000..e46160df1c --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/foo/index.js @@ -0,0 +1 @@ +bar; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/index.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/index.js new file mode 100644 index 0000000000..c6788558ed --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/in-files/src/index.js @@ -0,0 +1 @@ +index; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/options.json b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/options.json new file mode 100644 index 0000000000..630fe96c37 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/options.json @@ -0,0 +1,9 @@ +{ + "args": [ + "src", + "--out-dir", "lib", + "--copy-files", + "--include-dotfiles", + "--ignore", "src/foo" + ] +} diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/.foorc b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/.foorc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/README.md b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/foo/.foo.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/foo/.foo.js new file mode 100644 index 0000000000..31142aabfe --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/foo/.foo.js @@ -0,0 +1 @@ +a; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/foo/index.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/foo/index.js new file mode 100644 index 0000000000..e46160df1c --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/foo/index.js @@ -0,0 +1 @@ +bar; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/index.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/index.js new file mode 100644 index 0000000000..1073b618d0 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/out-files/lib/index.js @@ -0,0 +1,3 @@ +"use strict"; + +index; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/stdout.txt new file mode 100644 index 0000000000..6a861c5674 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore/stdout.txt @@ -0,0 +1 @@ +src/index.js -> lib/index.js diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/.foorc b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/.foorc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/README.md b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/foo/.foo.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/foo/.foo.js new file mode 100644 index 0000000000..31142aabfe --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/foo/.foo.js @@ -0,0 +1 @@ +a; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/foo/bar.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/foo/bar.js new file mode 100644 index 0000000000..e46160df1c --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/foo/bar.js @@ -0,0 +1 @@ +bar; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/index.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/index.js new file mode 100644 index 0000000000..c6788558ed --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/in-files/src/index.js @@ -0,0 +1 @@ +index; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/options.json b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/options.json new file mode 100644 index 0000000000..11a257f174 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/options.json @@ -0,0 +1,9 @@ +{ + "args": [ + "src", + "--out-dir", "lib", + "--copy-files", + "--include-dotfiles", + "--only", "src/foo" + ] +} diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/.foorc b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/.foorc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/README.md b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/foo/.foo.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/foo/.foo.js new file mode 100644 index 0000000000..096afd21d1 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/foo/.foo.js @@ -0,0 +1,3 @@ +"use strict"; + +a; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/foo/bar.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/foo/bar.js new file mode 100644 index 0000000000..0ed075a193 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/foo/bar.js @@ -0,0 +1,3 @@ +"use strict"; + +bar; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/index.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/index.js new file mode 100644 index 0000000000..c6788558ed --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/out-files/lib/index.js @@ -0,0 +1 @@ +index; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/stdout.txt new file mode 100644 index 0000000000..10cf3c8b56 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with only/stdout.txt @@ -0,0 +1,2 @@ +src/foo/.foo.js -> lib/foo/.foo.js +src/foo/bar.js -> lib/foo/bar.js diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/.foo.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/.foo.js new file mode 100644 index 0000000000..31142aabfe --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/.foo.js @@ -0,0 +1 @@ +a; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/.foorc b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/.foorc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/README.md b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/bar/index.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/bar/index.js new file mode 100644 index 0000000000..e46160df1c --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/bar/index.js @@ -0,0 +1 @@ +bar; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/foo/foo.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/in-files/src/foo/foo.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/options.json b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/options.json new file mode 100644 index 0000000000..977282bb22 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/options.json @@ -0,0 +1,3 @@ +{ + "args": ["src", "--out-dir", "lib", "--copy-files", "--include-dotfiles"] +} diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/.foo.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/.foo.js new file mode 100644 index 0000000000..096afd21d1 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/.foo.js @@ -0,0 +1,3 @@ +"use strict"; + +a; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/.foorc b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/.foorc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/README.md b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/bar/index.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/bar/index.js new file mode 100644 index 0000000000..0ed075a193 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/bar/index.js @@ -0,0 +1,3 @@ +"use strict"; + +bar; diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/foo/foo.js b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/out-files/lib/foo/foo.js new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/stdout.txt new file mode 100644 index 0000000000..0b10e8a195 --- /dev/null +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles/stdout.txt @@ -0,0 +1,3 @@ +src/.foo.js -> lib/.foo.js +src/bar/index.js -> lib/bar/index.js +src/foo/foo.js -> lib/foo/foo.js diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files with ignore/in-files/src/.foorc b/packages/babel-cli/test/fixtures/babel/--copy-files with ignore/in-files/src/.foorc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files with only/in-files/src/.foorc b/packages/babel-cli/test/fixtures/babel/--copy-files with only/in-files/src/.foorc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/babel-cli/test/index.js b/packages/babel-cli/test/index.js index fdde761cd0..66f243aaab 100644 --- a/packages/babel-cli/test/index.js +++ b/packages/babel-cli/test/index.js @@ -88,10 +88,14 @@ const assertTest = function(stdout, stderr, opts) { } if (opts.outFiles) { - const actualFiles = readDir(path.join(tmpLoc)); + const actualFiles = readDir(path.join(tmpLoc), fileFilter); Object.keys(actualFiles).forEach(function(filename) { - if (!opts.inFiles.hasOwnProperty(filename)) { + if ( + // saveInFiles always creates an empty .babelrc, so lets exclude for now + filename !== ".babelrc" && + !opts.inFiles.hasOwnProperty(filename) + ) { const expect = opts.outFiles[filename]; const actual = actualFiles[filename];