chore: upgrade Terser-related dependencies (#5609)

This commit is contained in:
Alexey Pyltsyn 2021-09-29 12:57:11 +03:00 committed by GitHub
parent c86dfbda61
commit 3ea96b8e00
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 33 additions and 38 deletions

View file

@ -23,7 +23,7 @@
"babel-loader": "^8.2.2",
"clsx": "^1.1.1",
"core-js": "^2.6.5",
"terser-webpack-plugin": "^5.1.3",
"terser-webpack-plugin": "^5.2.4",
"webpack": "^5.40.0",
"webpack-merge": "^5.7.3",
"workbox-build": "^6.1.1",

View file

@ -41,7 +41,6 @@
"@types/react-dom": "^17.0.9",
"@types/rtl-detect": "^1.0.0",
"@types/serve-handler": "^6.1.1",
"@types/terser-webpack-plugin": "^5.2.0",
"@types/webpack-bundle-analyzer": "^4.4.1",
"tmp-promise": "^3.0.2"
},
@ -86,7 +85,7 @@
"fs-extra": "^10.0.0",
"github-slugger": "^1.4.0",
"globby": "^11.0.2",
"html-minifier-terser": "^5.1.1",
"html-minifier-terser": "^6.0.2",
"html-tags": "^3.1.0",
"html-webpack-plugin": "^5.3.2",
"import-fresh": "^3.3.0",
@ -115,7 +114,7 @@
"shelljs": "^0.8.4",
"std-env": "^2.2.1",
"strip-ansi": "^6.0.0",
"terser-webpack-plugin": "^5.1.3",
"terser-webpack-plugin": "^5.2.4",
"tslib": "^2.3.1",
"update-notifier": "^5.1.0",
"url-loader": "^4.1.1",

View file

@ -129,9 +129,9 @@ async function doRender(locals) {
version: packageJson.version,
});
try {
// Minify html with https://github.com/DanielRuf/html-minifier-terser
function doMinify() {
return minify(renderedHtml, {
return await minify(renderedHtml, {
removeComments: true,
removeRedundantAttributes: true,
removeEmptyAttributes: true,
@ -140,27 +140,12 @@ async function doRender(locals) {
useShortDoctype: true,
minifyJS: true,
});
}
// TODO this is a temporary error affecting only monorepos due to Terser 5 (async) being used by html-minifier-terser,
// instead of the expected Terser 4 (sync)
// TODO, remove this once we upgrade everything to Terser 5 (https://github.com/terser/html-minifier-terser/issues/46)
// See also
// - https://github.com/facebook/docusaurus/issues/3515
// - https://github.com/terser/html-minifier-terser/issues/49
try {
return doMinify();
} catch (e) {
if (
e.message &&
e.message.includes("Cannot read property 'replace' of undefined")
) {
console.error(
chalk.red(
'\nDocusaurus user: you probably have this known error due to using a monorepo/workspace.\nWe have a workaround for you, please see https://github.com/facebook/docusaurus/issues/3515\n',
`Minification page with path "${locals.path}" failed because of following error:\n\n${e.stack}\n`,
),
);
}
throw e;
}
}

View file

@ -4531,13 +4531,6 @@
resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.7.tgz#545158342f949e8fd3bfd813224971ecddc3fac4"
integrity sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==
"@types/terser-webpack-plugin@^5.2.0":
version "5.2.0"
resolved "https://registry.yarnpkg.com/@types/terser-webpack-plugin/-/terser-webpack-plugin-5.2.0.tgz#6aaec696593216917f9f03266bed222f8253483b"
integrity sha512-iHDR2pRfFjGyDqCALX2tgUgFtGoQf2AJhKpC2XD1IMBQVJF2bny6WChGRDKj9eaZJl4F2RmvBhxJNtVPj7aTRw==
dependencies:
terser-webpack-plugin "*"
"@types/uglify-js@*":
version "3.13.0"
resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.0.tgz#1cad8df1fb0b143c5aba08de5712ea9d1ff71124"
@ -6220,7 +6213,7 @@ callsites@^3.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
camel-case@^4.1.1:
camel-case@^4.1.1, camel-case@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a"
integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==
@ -6914,6 +6907,11 @@ commander@^7.1.0, commander@^7.2.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
commander@^8.1.0:
version "8.2.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-8.2.0.tgz#37fe2bde301d87d47a53adeff8b5915db1381ca8"
integrity sha512-LLKxDvHeL91/8MIyTAD5BFMNtoIwztGPMiM/7Bl8rIPmHCZXRxmSWr91h57dpOpnQ6jIUqEWdXE/uBYMfiVZDA==
common-path-prefix@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-2.0.0.tgz#25b0265f318bf093a6ec630813aac97b29dea230"
@ -10759,7 +10757,7 @@ html-escaper@^2.0.0:
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
html-minifier-terser@^5.0.1, html-minifier-terser@^5.1.1:
html-minifier-terser@^5.0.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054"
integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==
@ -10772,6 +10770,19 @@ html-minifier-terser@^5.0.1, html-minifier-terser@^5.1.1:
relateurl "^0.2.7"
terser "^4.6.3"
html-minifier-terser@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.0.2.tgz#14059ad64b69bf9f8b8a33f25b53411d8321e75d"
integrity sha512-AgYO3UGhMYQx2S/FBJT3EM0ZYcKmH6m9XL9c1v77BeK/tYJxGPxT1/AtsdUi4FcP8kZGmqqnItCcjFPcX9hk6A==
dependencies:
camel-case "^4.1.2"
clean-css "^5.1.5"
commander "^8.1.0"
he "^1.2.0"
param-case "^3.0.4"
relateurl "^0.2.7"
terser "^5.7.2"
html-tags@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140"
@ -15294,7 +15305,7 @@ parallel-transform@^1.1.0, parallel-transform@^1.2.0:
inherits "^2.0.3"
readable-stream "^2.1.5"
param-case@^3.0.3:
param-case@^3.0.3, param-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5"
integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==
@ -18998,7 +19009,7 @@ terminal-link@^2.0.0:
ansi-escapes "^4.2.1"
supports-hyperlinks "^2.0.0"
terser-webpack-plugin@*, terser-webpack-plugin@^5.1.3:
terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.4:
version "5.2.4"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz#ad1be7639b1cbe3ea49fab995cbe7224b31747a1"
integrity sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==