From 6e9a174e7f70180a7ae7b7c01a2c988849666cf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hu=C3=A1ng=20J=C3=B9nli=C3=A0ng?= Date: Thu, 14 Jan 2021 08:45:48 -0500 Subject: [PATCH] fix: print warning messages to stderr (#12626) --- .../src/index.js | 15 ++++++------- packages/babel-preset-env/src/index.js | 21 +++++++------------ .../babel-preset-env/src/normalize-options.js | 2 +- .../corejs-without-usebuiltins/stderr.txt | 1 + .../corejs-without-usebuiltins/stdout.txt | 2 -- .../debug/entry-corejs2-electron/stderr.txt | 6 ++++++ .../debug/entry-corejs2-electron/stdout.txt | 7 ------- .../stderr.txt | 7 +++++++ .../stdout.txt | 8 ------- .../debug/entry-corejs3-electron/stderr.txt | 6 ++++++ .../debug/entry-corejs3-electron/stdout.txt | 7 ------- .../stderr.txt | 7 +++++++ .../stdout.txt | 8 ------- .../debug/entry-no-corejs-uglify/stderr.txt | 5 ++++- .../debug/entry-no-corejs-uglify/stdout.txt | 3 --- .../fixtures/debug/plugins-only/stderr.txt | 6 ++++++ .../fixtures/debug/plugins-only/stdout.txt | 7 ------- 17 files changed, 52 insertions(+), 66 deletions(-) create mode 100644 packages/babel-preset-env/test/fixtures/debug/corejs-without-usebuiltins/stderr.txt create mode 100644 packages/babel-preset-env/test/fixtures/debug/entry-corejs2-electron/stderr.txt create mode 100644 packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-decimals/stderr.txt create mode 100644 packages/babel-preset-env/test/fixtures/debug/entry-corejs3-electron/stderr.txt create mode 100644 packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-decimals/stderr.txt create mode 100644 packages/babel-preset-env/test/fixtures/debug/plugins-only/stderr.txt diff --git a/packages/babel-helper-compilation-targets/src/index.js b/packages/babel-helper-compilation-targets/src/index.js index 627d94f23307..4fff39876f51 100644 --- a/packages/babel-helper-compilation-targets/src/index.js +++ b/packages/babel-helper-compilation-targets/src/index.js @@ -103,17 +103,14 @@ function outputDecimalWarning( return; } - console.log("Warning, the following targets are using a decimal version:"); - console.log(""); + console.warn("Warning, the following targets are using a decimal version:\n"); decimalTargets.forEach(({ target, value }) => - console.log(` ${target}: ${value}`), + console.warn(` ${target}: ${value}`), ); - console.log(""); - console.log( - "We recommend using a string for minor/patch versions to avoid numbers like 6.10", - ); - console.log("getting parsed as 6.1, which can lead to unexpected behavior."); - console.log(""); + console.warn(` +We recommend using a string for minor/patch versions to avoid numbers like 6.10 +getting parsed as 6.1, which can lead to unexpected behavior. +`); } function semverifyTarget(target, value) { diff --git a/packages/babel-preset-env/src/index.js b/packages/babel-preset-env/src/index.js index 47af27c12761..90384f6103a1 100644 --- a/packages/babel-preset-env/src/index.js +++ b/packages/babel-preset-env/src/index.js @@ -251,23 +251,18 @@ export default declare((api, opts) => { hasUglifyTarget = true; delete optionsTargets.uglify; - console.log(""); - console.log("The uglify target has been deprecated. Set the top level"); - console.log("option `forceAllTransforms: true` instead."); - console.log(""); + console.warn(` +The uglify target has been deprecated. Set the top level +option \`forceAllTransforms: true\` instead. +`); } } if (optionsTargets?.esmodules && optionsTargets.browsers) { - console.log(""); - console.log( - "@babel/preset-env: esmodules and browsers targets have been specified together.", - ); - console.log( - // $FlowIgnore - `\`browsers\` target, \`${optionsTargets.browsers}\` will be ignored.`, - ); - console.log(""); + console.warn(` +@babel/preset-env: esmodules and browsers targets have been specified together. +\`browsers\` target, \`${optionsTargets.browsers.toString()}\` will be ignored. +`); } const targets = getTargets( diff --git a/packages/babel-preset-env/src/normalize-options.js b/packages/babel-preset-env/src/normalize-options.js index 0f730afabaea..417353bc4cf3 100644 --- a/packages/babel-preset-env/src/normalize-options.js +++ b/packages/babel-preset-env/src/normalize-options.js @@ -184,7 +184,7 @@ export function normalizeCoreJSOption( const version = rawVersion ? coerce(String(rawVersion)) : false; if (!useBuiltIns && version) { - console.log( + console.warn( "\nWARNING (@babel/preset-env): The `corejs` option only has an effect when the `useBuiltIns` option is not `false`\n", ); } diff --git a/packages/babel-preset-env/test/fixtures/debug/corejs-without-usebuiltins/stderr.txt b/packages/babel-preset-env/test/fixtures/debug/corejs-without-usebuiltins/stderr.txt new file mode 100644 index 000000000000..1600be371d6d --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/debug/corejs-without-usebuiltins/stderr.txt @@ -0,0 +1 @@ +WARNING (@babel/preset-env): The `corejs` option only has an effect when the `useBuiltIns` option is not `false` diff --git a/packages/babel-preset-env/test/fixtures/debug/corejs-without-usebuiltins/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/corejs-without-usebuiltins/stdout.txt index 1299fc8bab55..419bc46ff1ae 100644 --- a/packages/babel-preset-env/test/fixtures/debug/corejs-without-usebuiltins/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/corejs-without-usebuiltins/stdout.txt @@ -1,5 +1,3 @@ -WARNING (@babel/preset-env): The `corejs` option only has an effect when the `useBuiltIns` option is not `false` - @babel/preset-env: `DEBUG` option Using targets: diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-electron/stderr.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-electron/stderr.txt new file mode 100644 index 000000000000..a53cf9b1798a --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-electron/stderr.txt @@ -0,0 +1,6 @@ +Warning, the following targets are using a decimal version: + + electron: 0.36 + +We recommend using a string for minor/patch versions to avoid numbers like 6.10 +getting parsed as 6.1, which can lead to unexpected behavior. diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-electron/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-electron/stdout.txt index 0dc517046890..f201dd26673f 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-electron/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-electron/stdout.txt @@ -1,10 +1,3 @@ -Warning, the following targets are using a decimal version: - - electron: 0.36 - -We recommend using a string for minor/patch versions to avoid numbers like 6.10 -getting parsed as 6.1, which can lead to unexpected behavior. - @babel/preset-env: `DEBUG` option Using targets: diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-decimals/stderr.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-decimals/stderr.txt new file mode 100644 index 000000000000..290f78ce20c6 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-decimals/stderr.txt @@ -0,0 +1,7 @@ +Warning, the following targets are using a decimal version: + + electron: 0.36 + node: 6.1 + +We recommend using a string for minor/patch versions to avoid numbers like 6.10 +getting parsed as 6.1, which can lead to unexpected behavior. diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-decimals/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-decimals/stdout.txt index 4928247d3aa3..c6cbcde963dc 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-decimals/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs2-versions-decimals/stdout.txt @@ -1,11 +1,3 @@ -Warning, the following targets are using a decimal version: - - electron: 0.36 - node: 6.1 - -We recommend using a string for minor/patch versions to avoid numbers like 6.10 -getting parsed as 6.1, which can lead to unexpected behavior. - @babel/preset-env: `DEBUG` option Using targets: diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-electron/stderr.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-electron/stderr.txt new file mode 100644 index 000000000000..a53cf9b1798a --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-electron/stderr.txt @@ -0,0 +1,6 @@ +Warning, the following targets are using a decimal version: + + electron: 0.36 + +We recommend using a string for minor/patch versions to avoid numbers like 6.10 +getting parsed as 6.1, which can lead to unexpected behavior. diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-electron/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-electron/stdout.txt index f8d01520ab9a..90e6b8199aab 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-electron/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-electron/stdout.txt @@ -1,10 +1,3 @@ -Warning, the following targets are using a decimal version: - - electron: 0.36 - -We recommend using a string for minor/patch versions to avoid numbers like 6.10 -getting parsed as 6.1, which can lead to unexpected behavior. - @babel/preset-env: `DEBUG` option Using targets: diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-decimals/stderr.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-decimals/stderr.txt new file mode 100644 index 000000000000..290f78ce20c6 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-decimals/stderr.txt @@ -0,0 +1,7 @@ +Warning, the following targets are using a decimal version: + + electron: 0.36 + node: 6.1 + +We recommend using a string for minor/patch versions to avoid numbers like 6.10 +getting parsed as 6.1, which can lead to unexpected behavior. diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-decimals/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-decimals/stdout.txt index 6d3cd7fd1a3e..f42a92beb33f 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-decimals/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-corejs3-versions-decimals/stdout.txt @@ -1,11 +1,3 @@ -Warning, the following targets are using a decimal version: - - electron: 0.36 - node: 6.1 - -We recommend using a string for minor/patch versions to avoid numbers like 6.10 -getting parsed as 6.1, which can lead to unexpected behavior. - @babel/preset-env: `DEBUG` option Using targets: diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/stderr.txt b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/stderr.txt index 2bcc7b0c305b..81ab203f366c 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/stderr.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/stderr.txt @@ -6,4 +6,7 @@ You should also be sure that the version you pass to the `corejs` option matches yarn add core-js@2 yarn add core-js@3 More info about useBuiltIns: https://babeljs.io/docs/en/babel-preset-env#usebuiltins -More info about core-js: https://babeljs.io/docs/en/babel-preset-env#corejs \ No newline at end of file +More info about core-js: https://babeljs.io/docs/en/babel-preset-env#corejs + +The uglify target has been deprecated. Set the top level +option `forceAllTransforms: true` instead. diff --git a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/stdout.txt index fb69517a38e9..41038c2962c1 100644 --- a/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/entry-no-corejs-uglify/stdout.txt @@ -1,6 +1,3 @@ -The uglify target has been deprecated. Set the top level -option `forceAllTransforms: true` instead. - @babel/preset-env: `DEBUG` option Using targets: diff --git a/packages/babel-preset-env/test/fixtures/debug/plugins-only/stderr.txt b/packages/babel-preset-env/test/fixtures/debug/plugins-only/stderr.txt new file mode 100644 index 000000000000..e6a9d0e203f4 --- /dev/null +++ b/packages/babel-preset-env/test/fixtures/debug/plugins-only/stderr.txt @@ -0,0 +1,6 @@ +Warning, the following targets are using a decimal version: + + node: 7.4 + +We recommend using a string for minor/patch versions to avoid numbers like 6.10 +getting parsed as 6.1, which can lead to unexpected behavior. diff --git a/packages/babel-preset-env/test/fixtures/debug/plugins-only/stdout.txt b/packages/babel-preset-env/test/fixtures/debug/plugins-only/stdout.txt index 66e78828d9a2..b9ee4fb479de 100644 --- a/packages/babel-preset-env/test/fixtures/debug/plugins-only/stdout.txt +++ b/packages/babel-preset-env/test/fixtures/debug/plugins-only/stdout.txt @@ -1,10 +1,3 @@ -Warning, the following targets are using a decimal version: - - node: 7.4 - -We recommend using a string for minor/patch versions to avoid numbers like 6.10 -getting parsed as 6.1, which can lead to unexpected behavior. - @babel/preset-env: `DEBUG` option Using targets: