diff --git a/packages/babel-cli/src/babel/dir.js b/packages/babel-cli/src/babel/dir.js index 6231a12be6c9..313a4e5904c7 100644 --- a/packages/babel-cli/src/babel/dir.js +++ b/packages/babel-cli/src/babel/dir.js @@ -140,14 +140,19 @@ export default async function({ } let compiledFiles = 0; + let startTime = null; + const logSuccess = debounce( function() { + const diff = process.hrtime(startTime); + console.log( `Successfully compiled ${compiledFiles} ${ compiledFiles !== 1 ? "files" : "file" - } with Babel.`, + } with Babel (${diff[0] * 1e3 + Math.round(diff[1] / 1e6)}ms).`, ); compiledFiles = 0; + startTime = null; }, 100, { trailing: true }, @@ -160,6 +165,8 @@ export default async function({ makeDirSync(cliOptions.outDir); + startTime = process.hrtime(); + for (const filename of cliOptions.filenames) { // compiledFiles is just incremented without reading its value, so we // don't risk race conditions. @@ -193,6 +200,7 @@ export default async function({ ["add", "change"].forEach(function(type: string): void { watcher.on(type, async function(filename: string) { processing++; + if (startTime === null) startTime = process.hrtime(); try { await handleFile( diff --git a/packages/babel-cli/test/fixtures/babel/--config-file babelrc nocomment/stdout.txt b/packages/babel-cli/test/fixtures/babel/--config-file babelrc nocomment/stdout.txt index d6744173f7f8..ae4557e57bc3 100644 --- a/packages/babel-cli/test/fixtures/babel/--config-file babelrc nocomment/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--config-file babelrc nocomment/stdout.txt @@ -2,4 +2,4 @@ arr.map(function (x) { return x * MULTIPLIER; -}); \ No newline at end of file +}); diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore in babelrc/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore in babelrc/stdout.txt index 84a430432e47..70d8437f4270 100644 --- a/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore in babelrc/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --include-dotfiles with ignore in babelrc/stdout.txt @@ -1,2 +1,2 @@ src/index.js -> lib/index.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). 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 index 84a430432e47..70d8437f4270 100644 --- 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 @@ -1,2 +1,2 @@ src/index.js -> lib/index.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). 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 index 9d205b1f0ff3..86c6be03cebc 100644 --- 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 @@ -1,3 +1,3 @@ src/foo/.foo.js -> lib/foo/.foo.js src/foo/bar.js -> lib/foo/bar.js -Successfully compiled 2 files with Babel. +Successfully compiled 2 files with Babel (123ms). 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 index 5ed84bd0f89c..a2c93957f3a3 100644 --- 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 @@ -1,4 +1,4 @@ src/.foo.js -> lib/.foo.js src/bar/index.js -> lib/bar/index.js src/foo/foo.js -> lib/foo/foo.js -Successfully compiled 3 files with Babel. +Successfully compiled 3 files with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with babelignore/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with babelignore/stdout.txt index 84a430432e47..70d8437f4270 100644 --- a/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with babelignore/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with babelignore/stdout.txt @@ -1,2 +1,2 @@ src/index.js -> lib/index.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with ignore in babelrc/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with ignore in babelrc/stdout.txt index 84a430432e47..70d8437f4270 100644 --- a/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with ignore in babelrc/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with ignore in babelrc/stdout.txt @@ -1,2 +1,2 @@ src/index.js -> lib/index.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with ignore/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with ignore/stdout.txt index 84a430432e47..70d8437f4270 100644 --- a/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with ignore/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with ignore/stdout.txt @@ -1,2 +1,2 @@ src/index.js -> lib/index.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with only/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with only/stdout.txt index 673dafc7483e..8d4e7a138947 100644 --- a/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with only/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--copy-files --no-copy-ignored with only/stdout.txt @@ -1,2 +1,2 @@ src/foo/bar.js -> lib/foo/bar.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files with ignore in babelignore/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files with ignore in babelignore/stdout.txt index 84a430432e47..70d8437f4270 100644 --- a/packages/babel-cli/test/fixtures/babel/--copy-files with ignore in babelignore/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--copy-files with ignore in babelignore/stdout.txt @@ -1,2 +1,2 @@ src/index.js -> lib/index.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files with ignore in babelrc/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files with ignore in babelrc/stdout.txt index 84a430432e47..70d8437f4270 100644 --- a/packages/babel-cli/test/fixtures/babel/--copy-files with ignore in babelrc/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--copy-files with ignore in babelrc/stdout.txt @@ -1,2 +1,2 @@ src/index.js -> lib/index.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files with ignore/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files with ignore/stdout.txt index 84a430432e47..70d8437f4270 100644 --- a/packages/babel-cli/test/fixtures/babel/--copy-files with ignore/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--copy-files with ignore/stdout.txt @@ -1,2 +1,2 @@ src/index.js -> lib/index.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files with only/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files with only/stdout.txt index 673dafc7483e..8d4e7a138947 100644 --- a/packages/babel-cli/test/fixtures/babel/--copy-files with only/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--copy-files with only/stdout.txt @@ -1,2 +1,2 @@ src/foo/bar.js -> lib/foo/bar.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--copy-files/stdout.txt b/packages/babel-cli/test/fixtures/babel/--copy-files/stdout.txt index 9dc267e45ce5..9989d720be6d 100644 --- a/packages/babel-cli/test/fixtures/babel/--copy-files/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--copy-files/stdout.txt @@ -1,3 +1,3 @@ src/bar/index.js -> lib/bar/index.js src/foo/foo.js -> lib/foo/foo.js -Successfully compiled 2 files with Babel. +Successfully compiled 2 files with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--ignore complete/stdout.txt b/packages/babel-cli/test/fixtures/babel/--ignore complete/stdout.txt index 6e840f960157..8b55f4b8bd0c 100644 --- a/packages/babel-cli/test/fixtures/babel/--ignore complete/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--ignore complete/stdout.txt @@ -1,2 +1,2 @@ src/foobar/foo.js -> lib/foobar/foo.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--ignore glob/stdout.txt b/packages/babel-cli/test/fixtures/babel/--ignore glob/stdout.txt index da34f6cc26db..366b427a1a8d 100644 --- a/packages/babel-cli/test/fixtures/babel/--ignore glob/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--ignore glob/stdout.txt @@ -2,4 +2,4 @@ src/a.js -> lib/a.js src/b.js -> lib/b.js src/baz/c.js -> lib/baz/c.js src/foo.js -> lib/foo.js -Successfully compiled 4 files with Babel. +Successfully compiled 4 files with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--ignore/stdout.txt b/packages/babel-cli/test/fixtures/babel/--ignore/stdout.txt index ffacef140aa2..4b89fd84de9c 100644 --- a/packages/babel-cli/test/fixtures/babel/--ignore/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--ignore/stdout.txt @@ -1,2 +1,2 @@ src/bar/index.js -> lib/bar/index.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--only glob/stdout.txt b/packages/babel-cli/test/fixtures/babel/--only glob/stdout.txt index 08ce73e9a154..954283c0139d 100644 --- a/packages/babel-cli/test/fixtures/babel/--only glob/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--only glob/stdout.txt @@ -1,3 +1,3 @@ src/a.foo.js -> lib/a.foo.js src/baz/b.foo.js -> lib/baz/b.foo.js -Successfully compiled 2 files with Babel. +Successfully compiled 2 files with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/--only/stdout.txt b/packages/babel-cli/test/fixtures/babel/--only/stdout.txt index ffacef140aa2..4b89fd84de9c 100644 --- a/packages/babel-cli/test/fixtures/babel/--only/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/--only/stdout.txt @@ -1,2 +1,2 @@ src/bar/index.js -> lib/bar/index.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --copy-files/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir --copy-files/stdout.txt index e1dc49ecf1b7..97ce447bd40f 100644 --- a/packages/babel-cli/test/fixtures/babel/dir --out-dir --copy-files/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --copy-files/stdout.txt @@ -1,2 +1,2 @@ src/foo.js -> lib/foo.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --keep-file-extension/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir --keep-file-extension/stdout.txt index a5df14e25ba3..857e838b7ec2 100644 --- a/packages/babel-cli/test/fixtures/babel/dir --out-dir --keep-file-extension/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --keep-file-extension/stdout.txt @@ -1,3 +1,3 @@ src/bar.mjs -> lib/bar.mjs src/foo.js -> lib/foo.js -Successfully compiled 2 files with Babel. +Successfully compiled 2 files with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file-extension/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file-extension/stdout.txt index 24ba955afb2b..abfc9ecb9636 100644 --- a/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file-extension/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --out-file-extension/stdout.txt @@ -1,3 +1,3 @@ src/bar.mjs -> lib/bar.mjs src/foo.jsx -> lib/foo.mjs -Successfully compiled 2 files with Babel. +Successfully compiled 2 files with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --relative/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir --relative/stdout.txt index d142f5c35ccd..413a2a346fa4 100644 --- a/packages/babel-cli/test/fixtures/babel/dir --out-dir --relative/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --relative/stdout.txt @@ -2,4 +2,4 @@ package1/src/bar/bar1.js -> package1/lib/bar/bar1.js package1/src/foo1.js -> package1/lib/foo1.js package2/src/bar/bar2.js -> package2/lib/bar/bar2.js package2/src/foo2.js -> package2/lib/foo2.js -Successfully compiled 4 files with Babel. +Successfully compiled 4 files with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/stdout.txt index 270cf750eb71..a7a565aae107 100644 --- a/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps inline/stdout.txt @@ -1,3 +1,3 @@ src/bar/bar.js -> lib/bar/bar.js src/foo.js -> lib/foo.js -Successfully compiled 2 files with Babel. +Successfully compiled 2 files with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/stdout.txt index 270cf750eb71..a7a565aae107 100644 --- a/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --source-maps/stdout.txt @@ -1,3 +1,3 @@ src/bar/bar.js -> lib/bar/bar.js src/foo.js -> lib/foo.js -Successfully compiled 2 files with Babel. +Successfully compiled 2 files with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir --verbose/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir --verbose/stdout.txt index 270cf750eb71..a7a565aae107 100644 --- a/packages/babel-cli/test/fixtures/babel/dir --out-dir --verbose/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir --verbose/stdout.txt @@ -1,3 +1,3 @@ src/bar/bar.js -> lib/bar/bar.js src/foo.js -> lib/foo.js -Successfully compiled 2 files with Babel. +Successfully compiled 2 files with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/dir --out-dir/stdout.txt b/packages/babel-cli/test/fixtures/babel/dir --out-dir/stdout.txt index 2f134f8793c4..409cabd35c3f 100644 --- a/packages/babel-cli/test/fixtures/babel/dir --out-dir/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/dir --out-dir/stdout.txt @@ -1 +1 @@ -Successfully compiled 2 files with Babel. +Successfully compiled 2 files with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/empty dir --out-dir/stdout.txt b/packages/babel-cli/test/fixtures/babel/empty dir --out-dir/stdout.txt index 6c1d71db5a02..634bf68f84bd 100644 --- a/packages/babel-cli/test/fixtures/babel/empty dir --out-dir/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/empty dir --out-dir/stdout.txt @@ -1 +1 @@ -Successfully compiled 0 files with Babel. +Successfully compiled 0 files with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/filename --out-dir --relative/stdout.txt b/packages/babel-cli/test/fixtures/babel/filename --out-dir --relative/stdout.txt index e1dc49ecf1b7..97ce447bd40f 100644 --- a/packages/babel-cli/test/fixtures/babel/filename --out-dir --relative/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/filename --out-dir --relative/stdout.txt @@ -1,2 +1,2 @@ src/foo.js -> lib/foo.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/fixtures/babel/filename --out-dir/stdout.txt b/packages/babel-cli/test/fixtures/babel/filename --out-dir/stdout.txt index e1dc49ecf1b7..97ce447bd40f 100644 --- a/packages/babel-cli/test/fixtures/babel/filename --out-dir/stdout.txt +++ b/packages/babel-cli/test/fixtures/babel/filename --out-dir/stdout.txt @@ -1,2 +1,2 @@ src/foo.js -> lib/foo.js -Successfully compiled 1 file with Babel. +Successfully compiled 1 file with Babel (123ms). diff --git a/packages/babel-cli/test/index.js b/packages/babel-cli/test/index.js index c9f993b04cbb..da2a6baa913d 100644 --- a/packages/babel-cli/test/index.js +++ b/packages/babel-cli/test/index.js @@ -49,19 +49,19 @@ const saveInFiles = function(files) { }); }; -const replacePaths = function(str, cwd) { +const normalizeOutput = function(str, cwd) { let prev; do { prev = str; str = str.replace(cwd, ""); } while (str !== prev); - return str; + return str.replace(/\(\d+ms\)/g, "(123ms)"); }; const assertTest = function(stdout, stderr, opts, cwd) { - stdout = replacePaths(stdout, cwd); - stderr = replacePaths(stderr, cwd); + stdout = normalizeOutput(stdout, cwd); + stderr = normalizeOutput(stderr, cwd); const expectStderr = opts.stderr.trim(); stderr = stderr.trim(); @@ -84,6 +84,7 @@ const assertTest = function(stdout, stderr, opts, cwd) { if (opts.stdoutContains) { expect(stdout).toContain(expectStdout); } else { + fs.writeFileSync(opts.stdoutPath, stdout + "\n"); expect(stdout).toBe(expectStdout); } } else if (stdout) { @@ -230,6 +231,7 @@ fs.readdirSync(fixtureLoc).forEach(function(binName) { ["stdout", "stdin", "stderr"].forEach(function(key) { const loc = path.join(testLoc, key + ".txt"); + opts[key + "Path"] = loc; if (fs.existsSync(loc)) { opts[key] = helper.readFile(loc); } else {