From 3ecfd2273785233255d91e97023dcb43aa9b20d5 Mon Sep 17 00:00:00 2001 From: eduardhrachou Date: Fri, 19 Jan 2024 17:22:46 +0300 Subject: [PATCH 1/4] build optimization with webpack and terser, not latest quill-icons --- gatsby-node.js | 68 +++++++++++++++++++++++++++++++++-------------- package-lock.json | 25 ++++++++--------- package.json | 3 ++- 3 files changed, 63 insertions(+), 33 deletions(-) diff --git a/gatsby-node.js b/gatsby-node.js index 75a5d4fbaae..0f4ccba0a14 100644 --- a/gatsby-node.js +++ b/gatsby-node.js @@ -3,6 +3,9 @@ const language_config = require(`./i18n-config.js`) const language_config_en = require(`./i18n-config-en.js`) const path = require('path') const { copyLibFiles } = require('@builder.io/partytown/utils') +const webpack = require('webpack') +const StylelintPlugin = require('stylelint-webpack-plugin') +const TerserPlugin = require('terser-webpack-plugin') const translations_cache = {} @@ -389,35 +392,60 @@ exports.onCreatePage = ({ page, actions }) => { } } -const StylelintPlugin = require('stylelint-webpack-plugin') -const TerserPlugin = require('terser-webpack-plugin') const style_lint_options = { files: 'src/**/*.js', emitErrors: false, lintDirtyModulesOnly: true, } -exports.onCreateWebpackConfig = ({ stage, actions, loaders, getConfig }, { ...options }) => { - const config = getConfig() - if (config.optimization) { - config.optimization.minimizer = [new TerserPlugin()] - } - if (stage === 'build-html' || stage === 'develop-html') { - actions.setWebpackConfig({ - module: { - rules: [ - { - test: /analytics/, - use: loaders.null(), - }, - ], - }, - }) - } +exports.onCreateWebpackConfig = ({ stage, actions, loaders }, { ...options }) => { + // const config = getConfig() + // const isProduction = config.mode === 'production' + const isProduction = true + actions.setWebpackConfig({ - plugins: [new StylelintPlugin({ ...style_lint_options, ...options })], + devtool: !isProduction, // enable/disable source-maps + mode: isProduction ? 'production' : 'development', + optimization: { + minimize: true, + minimizer: [new TerserPlugin()], + // splitChunks: { + // chunks: 'all', + // name: "deriv-com", + // }, + + mangleExports: 'size', + mangleWasmImports: true, + + mergeDuplicateChunks: true, + removeAvailableModules: true, + removeEmptyChunks: true, + innerGraph: true, + + chunkIds: 'size', + moduleIds: 'size', + + // runtimeChunk: 'single', // compilation fails + sideEffects: true, + + concatenateModules: true, + providedExports: true, + usedExports: true, + }, + plugins: [ + new StylelintPlugin({...style_lint_options, ...options}), + new webpack.optimize.LimitChunkCountPlugin({maxChunks: 1}), // works, merges chunks together + ], resolve: { modules: [path.resolve(__dirname, 'src'), 'node_modules'], }, + ...((stage === 'build-html' || stage === 'develop-html') ? { + module: { + rules: [{ + test: /analytics/, + use: loaders.null() + }] + } + } : {}), }) } diff --git a/package-lock.json b/package-lock.json index 1f36eb40816..c93467bcaef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@deriv/analytics": "^1.4.3", "@deriv/deriv-api": "^1.0.13", "@deriv/quill-design": "^1.3.2", - "@deriv/quill-icons": "^1.1.5", + "@deriv/quill-icons": "^1.14.0", "@hookform/resolvers": "^3.3.2", "@livechat/customer-sdk": "^3.1.5", "@loadable/component": "^5.15.3", @@ -80,6 +80,7 @@ "rxjs": "^7.8.1", "sass": "^1.69.5", "swiper": "^9.4.1", + "terser-webpack-plugin": "^5.3.10", "use-query-params": "^1.2.3", "usehooks-ts": "^2.9.1", "webpack": "^5.89.0", @@ -3084,9 +3085,9 @@ } }, "node_modules/@deriv/quill-icons": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@deriv/quill-icons/-/quill-icons-1.1.5.tgz", - "integrity": "sha512-Ze5qr9ZG3UGb+99612HV2gyscE/42Kg6UiHoXQxqWqhqKEzfisiDydiVO9e0yalQ4X/YTgELXTurff8lxH6WJQ==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@deriv/quill-icons/-/quill-icons-1.14.0.tgz", + "integrity": "sha512-Om6KySUj/avtNE/K83NZgEurgJGTQY+pkVQWH9jUkZJxM6qIduXFwU56iWB7zjKr/WwqyB19VuhW2qyJ7M8IzA==", "peerDependencies": { "react": ">= 16", "react-dom": ">= 16" @@ -48193,9 +48194,9 @@ } }, "node_modules/terser": { - "version": "5.25.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.25.0.tgz", - "integrity": "sha512-we0I9SIsfvNUMP77zC9HG+MylwYYsGFSBG8qm+13oud2Yh+O104y614FRbyjpxys16jZwot72Fpi827YvGzuqg==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", + "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -48210,15 +48211,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" diff --git a/package.json b/package.json index c31e5936b0f..f3b757ed2d9 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "@deriv/analytics": "^1.4.3", "@deriv/deriv-api": "^1.0.13", "@deriv/quill-design": "^1.3.2", - "@deriv/quill-icons": "^1.1.5", + "@deriv/quill-icons": "^1.14.0", "@hookform/resolvers": "^3.3.2", "@livechat/customer-sdk": "^3.1.5", "@loadable/component": "^5.15.3", @@ -75,6 +75,7 @@ "rxjs": "^7.8.1", "sass": "^1.69.5", "swiper": "^9.4.1", + "terser-webpack-plugin": "^5.3.10", "use-query-params": "^1.2.3", "usehooks-ts": "^2.9.1", "webpack": "^5.89.0", From 91e399fe5afd60a6e1850e149cf2f54859ca6421 Mon Sep 17 00:00:00 2001 From: eduardhrachou Date: Fri, 19 Jan 2024 17:43:36 +0300 Subject: [PATCH 2/4] optimize html and css --- gatsby-config.js | 32 ++++++++++++++--- package-lock.json | 91 +++++++++++++++++++++++++++++++++++++++++++++-- package.json | 1 + 3 files changed, 117 insertions(+), 7 deletions(-) diff --git a/gatsby-config.js b/gatsby-config.js index f0b9729d8b1..7279615b861 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -57,19 +57,43 @@ module.exports = { // }, // }, 'gatsby-plugin-postcss', + { + resolve: 'gatsby-plugin-html-minifier', + options: { + collapseWhitespace: true, + decodeEntities: true, + minifyCSS: true, + minifyJS: true, + removeComments: true, + removeEmptyAttributes: true, + removeRedundantAttributes: true, + useShortDoctype: true, + }, + }, { resolve: 'gatsby-plugin-sass', options: { postCssPlugins: [ require('postcss-discard-duplicates'), + require('autoprefixer'), // better cross-browser compatibility plugin({ dest: 'src/classnames.d.ts', - // Set isModule if you want to import ClassNames from another file - // isModule: true, - exportAsDefault: true, // to use in combination with isModule + exportAsDefault: true, }), require('cssnano')({ - preset: 'default', + preset: [ + 'default', + { + discardComments: { removeAll: true }, + discardUnused: true, + mergeIdents: true, + reduceIdents: true, + mergeRules: true, + minifySelectors: true, + discardEmpty: true, + minifyFontValues: true, + }, + ], }), ], }, diff --git a/package-lock.json b/package-lock.json index c93467bcaef..bc988747821 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,6 +44,7 @@ "gatsby": "^5.12.11", "gatsby-plugin-anchor-links": "^1.2.1", "gatsby-plugin-canonical-urls": "^5.12.0", + "gatsby-plugin-html-minifier": "^2.0.0", "gatsby-plugin-image": "3.11.0", "gatsby-plugin-manifest": "^5.12.3", "gatsby-plugin-robots-txt": "^1.8.0", @@ -27233,6 +27234,14 @@ "gatsby": "^2 || ^3 || ^4 || ^5" } }, + "node_modules/gatsby-plugin-html-minifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-html-minifier/-/gatsby-plugin-html-minifier-2.0.0.tgz", + "integrity": "sha512-AqJUR/NNtWsDYt5hBeJXmLudQH1MUResXYDiGSTj3spE974JYHYSxNP+WkWsbBMof+0XEzUtHJAQzHOSp8habg==", + "peerDependencies": { + "html-minifier": "^4.0.0" + } + }, "node_modules/gatsby-plugin-image": { "version": "3.11.0", "resolved": "https://registry.npmjs.org/gatsby-plugin-image/-/gatsby-plugin-image-3.11.0.tgz", @@ -30172,6 +30181,27 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "node_modules/html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "peer": true, + "dependencies": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -30193,6 +30223,64 @@ "node": ">=12" } }, + "node_modules/html-minifier/node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "peer": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "node_modules/html-minifier/node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "peer": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/html-minifier/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "peer": true + }, + "node_modules/html-minifier/node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "peer": true + }, + "node_modules/html-minifier/node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "peer": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, + "node_modules/html-minifier/node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "peer": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/html-minifier/node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", + "peer": true + }, "node_modules/html-parse-stringify": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", @@ -44579,7 +44667,6 @@ "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "dev": true, "engines": { "node": ">= 0.10" } @@ -49082,8 +49169,6 @@ "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "dev": true, - "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" }, diff --git a/package.json b/package.json index f3b757ed2d9..51d9b9d896e 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "gatsby": "^5.12.11", "gatsby-plugin-anchor-links": "^1.2.1", "gatsby-plugin-canonical-urls": "^5.12.0", + "gatsby-plugin-html-minifier": "^2.0.0", "gatsby-plugin-image": "3.11.0", "gatsby-plugin-manifest": "^5.12.3", "gatsby-plugin-robots-txt": "^1.8.0", From 3534530eab3bf9aa17a50ffbfc7df7e5a3164196 Mon Sep 17 00:00:00 2001 From: eduardhrachou Date: Fri, 19 Jan 2024 17:54:20 +0300 Subject: [PATCH 3/4] Merge master into eduard-deriv-DPROD-2750-html-css-webpack-one-chunk-no-source-maps --- package-lock.json | 110 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 98 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8bd9c6567a2..6cacf80b88a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@deriv/analytics": "^1.4.4", "@deriv/deriv-api": "^1.0.13", "@deriv/quill-design": "^1.2.16", - "@deriv/quill-icons": "^1.1.13", + "@deriv/quill-icons": "^1.14.0", "@hookform/resolvers": "^3.3.2", "@livechat/customer-sdk": "^3.1.5", "@loadable/component": "^5.15.3", @@ -44,6 +44,7 @@ "gatsby": "^5.12.11", "gatsby-plugin-anchor-links": "^1.2.1", "gatsby-plugin-canonical-urls": "^5.12.0", + "gatsby-plugin-html-minifier": "^2.0.0", "gatsby-plugin-image": "3.11.0", "gatsby-plugin-manifest": "^5.12.3", "gatsby-plugin-robots-txt": "^1.8.0", @@ -80,6 +81,7 @@ "rxjs": "^7.8.1", "sass": "^1.69.5", "swiper": "^9.4.1", + "terser-webpack-plugin": "^5.3.10", "use-query-params": "^1.2.3", "usehooks-ts": "^2.9.1", "webpack": "^5.89.0", @@ -3089,9 +3091,9 @@ } }, "node_modules/@deriv/quill-icons": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/@deriv/quill-icons/-/quill-icons-1.1.13.tgz", - "integrity": "sha512-9i8JJSrEXmjJpjdhh4ZEQfhpDhgl+WO5I9e838F1ummpS1lVE6POLxH05noPFMPoS2foYCWceTyz/sRSluD+3g==", + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@deriv/quill-icons/-/quill-icons-1.14.0.tgz", + "integrity": "sha512-Om6KySUj/avtNE/K83NZgEurgJGTQY+pkVQWH9jUkZJxM6qIduXFwU56iWB7zjKr/WwqyB19VuhW2qyJ7M8IzA==", "peerDependencies": { "react": ">= 16", "react-dom": ">= 16" @@ -27416,6 +27418,14 @@ "gatsby": "^2 || ^3 || ^4 || ^5" } }, + "node_modules/gatsby-plugin-html-minifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gatsby-plugin-html-minifier/-/gatsby-plugin-html-minifier-2.0.0.tgz", + "integrity": "sha512-AqJUR/NNtWsDYt5hBeJXmLudQH1MUResXYDiGSTj3spE974JYHYSxNP+WkWsbBMof+0XEzUtHJAQzHOSp8habg==", + "peerDependencies": { + "html-minifier": "^4.0.0" + } + }, "node_modules/gatsby-plugin-image": { "version": "3.11.0", "resolved": "https://registry.npmjs.org/gatsby-plugin-image/-/gatsby-plugin-image-3.11.0.tgz", @@ -30360,6 +30370,27 @@ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, + "node_modules/html-minifier": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", + "peer": true, + "dependencies": { + "camel-case": "^3.0.0", + "clean-css": "^4.2.1", + "commander": "^2.19.0", + "he": "^1.2.0", + "param-case": "^2.1.1", + "relateurl": "^0.2.7", + "uglify-js": "^3.5.1" + }, + "bin": { + "html-minifier": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/html-minifier-terser": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", @@ -30381,6 +30412,64 @@ "node": ">=12" } }, + "node_modules/html-minifier/node_modules/camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==", + "peer": true, + "dependencies": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "node_modules/html-minifier/node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "peer": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/html-minifier/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "peer": true + }, + "node_modules/html-minifier/node_modules/lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==", + "peer": true + }, + "node_modules/html-minifier/node_modules/no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "peer": true, + "dependencies": { + "lower-case": "^1.1.1" + } + }, + "node_modules/html-minifier/node_modules/param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==", + "peer": true, + "dependencies": { + "no-case": "^2.2.0" + } + }, + "node_modules/html-minifier/node_modules/upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==", + "peer": true + }, "node_modules/html-parse-stringify": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", @@ -44879,7 +44968,6 @@ "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", - "dev": true, "engines": { "node": ">= 0.10" } @@ -48629,15 +48717,15 @@ } }, "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", + "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" + "terser": "^5.26.0" }, "engines": { "node": ">= 10.13.0" @@ -49504,8 +49592,6 @@ "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "dev": true, - "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" }, From 0730b08d4596609b631b1eb00e52711e3a3767e9 Mon Sep 17 00:00:00 2001 From: eduardhrachou Date: Fri, 19 Jan 2024 17:58:01 +0300 Subject: [PATCH 4/4] chore: empty commit