From e9b528eaee834221e1740b029260b35fe80d673b Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Fri, 8 Sep 2023 13:45:34 +0200 Subject: [PATCH] Use NodeJS v20 by default (#26830) --- .nvmrc | 2 +- Dockerfile | 2 +- config/webpack/production.js | 2 +- package.json | 4 ++-- yarn.lock | 24 ++++++++++++------------ 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.nvmrc b/.nvmrc index 59ea99ee63..541b047dd0 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -16.20 +20.6 diff --git a/Dockerfile b/Dockerfile index b22284bbd1..3fe4a62bdf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1.4 # This needs to be bookworm-slim because the Ruby image is built on bookworm-slim -ARG NODE_VERSION="16.20-bookworm-slim" +ARG NODE_VERSION="20.6-bookworm-slim" FROM ghcr.io/moritzheiber/ruby-jemalloc:3.2.2-slim as ruby FROM node:${NODE_VERSION} as build diff --git a/config/webpack/production.js b/config/webpack/production.js index 7f1ee4a8f9..cec810184d 100644 --- a/config/webpack/production.js +++ b/config/webpack/production.js @@ -4,7 +4,7 @@ const { createHash } = require('crypto'); const { readFileSync } = require('fs'); const { resolve } = require('path'); -const CompressionPlugin = require('compression-webpack-plugin'); +const CompressionPlugin = require('@renchap/compression-webpack-plugin'); const TerserPlugin = require('terser-webpack-plugin'); const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer'); const { merge } = require('webpack-merge'); diff --git a/package.json b/package.json index 121abf77fe..227399e804 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "@material-design-icons/svg": "^0.14.10", "@rails/ujs": "^7.0.6", "@reduxjs/toolkit": "^1.9.5", + "@renchap/compression-webpack-plugin": "^6.1.4", "@svgr/webpack": "^5.5.0", "abortcontroller-polyfill": "^1.7.5", "arrow-key-navigation": "^1.2.0", @@ -63,7 +64,6 @@ "classnames": "^2.3.2", "cocoon-js-vanilla": "^1.3.0", "color-blend": "^4.0.0", - "compression-webpack-plugin": "^6.1.1", "core-js": "^3.30.2", "cross-env": "^7.0.3", "css-loader": "^5.2.7", @@ -136,7 +136,7 @@ "tiny-queue": "^0.2.1", "twitter-text": "3.1.0", "uuid": "^9.0.0", - "webpack": "^4.46.0", + "webpack": "^4.47.0", "webpack-assets-manifest": "^4.0.6", "webpack-bundle-analyzer": "^4.8.0", "webpack-cli": "^3.3.12", diff --git a/yarn.lock b/yarn.lock index c256bbf62f..bf6cee3641 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1851,6 +1851,17 @@ redux-thunk "^2.4.2" reselect "^4.1.8" +"@renchap/compression-webpack-plugin@^6.1.4": + version "6.1.4" + resolved "https://registry.yarnpkg.com/@renchap/compression-webpack-plugin/-/compression-webpack-plugin-6.1.4.tgz#5ff528ae9edf83de7447b72f5b52a05f860bb899" + integrity sha512-Ij43bj/jhKiMKOZVT9b3DJvr4R+dNs9ZbH7QV3kLfloavt4GhNo4Jw86tVwmP5d+seZtSwTL1NG8/c6dM1V0vw== + dependencies: + cacache "^15.0.5" + find-cache-dir "^3.3.1" + schema-utils "^3.0.0" + serialize-javascript "^5.0.1" + webpack-sources "^1.4.3" + "@restart/hooks@^0.4.7": version "0.4.9" resolved "https://registry.yarnpkg.com/@restart/hooks/-/hooks-0.4.9.tgz#ad858fb39d99e252cccce19416adc18fc3f18fcb" @@ -4262,17 +4273,6 @@ compressible@~2.0.16: dependencies: mime-db ">= 1.43.0 < 2" -compression-webpack-plugin@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-6.1.1.tgz#ae8e4b2ffdb7396bb776e66918d751a20d8ccf0e" - integrity sha512-BEHft9M6lwOqVIQFMS/YJGmeCYXVOakC5KzQk05TFpMBlODByh1qNsZCWjUBxCQhUP9x0WfGidxTbGkjbWO/TQ== - dependencies: - cacache "^15.0.5" - find-cache-dir "^3.3.1" - schema-utils "^3.0.0" - serialize-javascript "^5.0.1" - webpack-sources "^1.4.3" - compression@^1.7.4: version "1.7.4" resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" @@ -12585,7 +12585,7 @@ webpack-sources@^1.0, webpack-sources@^1.1.0, webpack-sources@^1.4.1, webpack-so source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.46.0: +webpack@^4.47.0: version "4.47.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.47.0.tgz#8b8a02152d7076aeb03b61b47dad2eeed9810ebc" integrity sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==