Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLeitwolf112026-10-03 01:50:07 +0300
committerLeitwolf112026-10-03 01:50:07 +0300
commit209da8ed364ae406e91c0d92db64b3a520c72ef9 (patch)
tree613f2c1aae7ace87ecf72f77b14558600bd205e3
parent35158de28f4a0dfc300f2d3b5787d2064a06105c (diff)
downloadprogmaweb-feature/instant-locale-switch.tar.gz
Update Next.js and override brace-expansion for security advisoriesfeature/instant-locale-switch
The dependency audit reports a critical Next.js advisory for releases before 16.3.6 (remote code execution in next/og ImageResponse) and high-severity denial-of-service advisories for brace-expansion before 5.0.12. The site does not import next/og, but production runs the affected Next.js release. - next and eslint-config-next: 16.3.3 to 16.3.8. - brace-expansion: the lockfile resolves 1.1.21 within its range; the 5.x line, which minimatch pins to 5.0.9, is overridden to 5.0.12 in the workspace until minimatch depends on a fixed release. pnpm audit reports no known vulnerabilities. Prettier, eslint, the type check, the tests and the production build pass.
-rw-r--r--apps/web/package.json6
-rw-r--r--pnpm-lock.yaml119
-rw-r--r--pnpm-workspace.yaml5
3 files changed, 69 insertions, 61 deletions
diff --git a/apps/web/package.json b/apps/web/package.json
index fef38d7..26497af 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -18,17 +18,17 @@
"format": "prettier --write ."
},
"dependencies": {
- "next": "16.3.3",
+ "next": "16.3.8",
"react": "19.2.8",
"react-dom": "19.2.8"
},
"devDependencies": {
- "c8": "12.0.0",
"@types/node": "24.10.1",
"@types/react": "19.2.14",
"@types/react-dom": "19.2.3",
+ "c8": "12.0.0",
"eslint": "9.39.2",
- "eslint-config-next": "16.3.3",
+ "eslint-config-next": "16.3.8",
"prettier": "3.8.2",
"typescript": "6.0.3"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9e6edee..9606f91 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,6 +4,9 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
+overrides:
+ brace-expansion@>=5.0.0 <5.0.12: 5.0.12
+
importers:
.: {}
@@ -11,8 +14,8 @@ importers:
apps/web:
dependencies:
next:
- specifier: 16.3.3
- version: 16.3.3(@babel/core@7.29.7(supports-color@7.2.0))(@types/node@24.10.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
+ specifier: 16.3.8
+ version: 16.3.8(@babel/core@7.29.7(supports-color@7.2.0))(@types/node@24.10.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
react:
specifier: 19.2.8
version: 19.2.8
@@ -36,8 +39,8 @@ importers:
specifier: 9.39.2
version: 9.39.2(supports-color@7.2.0)
eslint-config-next:
- specifier: 16.3.3
- version: 16.3.3(@typescript-eslint/parser@8.68.0(eslint@9.39.2(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.2(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)
+ specifier: 16.3.8
+ version: 16.3.8(@typescript-eslint/parser@8.68.0(eslint@9.39.2(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.2(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)
prettier:
specifier: 3.8.2
version: 3.8.2
@@ -383,60 +386,60 @@ packages:
'@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4
'@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4
- '@next/env@16.3.3':
- resolution: {integrity: sha512-U2eYQRwXj+dsqxV79zFqExDdatnNY/ZWc2nsJU1p/OgT7fd3dXwlF6OjYaFQCfMoeTA19PWq+wVmYgimVA+V+g==}
+ '@next/env@16.3.8':
+ resolution: {integrity: sha512-Al9zqHVV7TJv0eFuOU4U7Lvv74PTih4Ch63sk2xCIpSTkE3udFnaOcnzP2lQVymiL7yS9Cj2iClUXlR3EQ5sEw==}
- '@next/eslint-plugin-next@16.3.3':
- resolution: {integrity: sha512-pbEh30vvjKpDoTAmo1v3q2uM4JUi8QaEBpbmjWvGfoec2jLghy/WNtvzAT0bk+Ik9oz6etjt4YjXEk4BQnicCw==}
+ '@next/eslint-plugin-next@16.3.8':
+ resolution: {integrity: sha512-eCR9RcLTZrVS+K3+VOhi0xMdUUGNuriCHHhU1ZoABC/QQ/Gp0OWbLKQxV2/9DkmihYdYRcQWFmZXW8M1AMUXYw==}
- '@next/swc-darwin-arm64@16.3.3':
- resolution: {integrity: sha512-8Hiv32QJPwdV6KYJ8meR9SBA061tQqnIKTJDocvOXlEQqib0xMFpzArosuffFUUc0sslbh7QQ8a3Yey1QV8EIw==}
+ '@next/swc-darwin-arm64@16.3.8':
+ resolution: {integrity: sha512-2JPRMh2nmQG5CiL7cXGL9AGwnPWJQ//cTtAUCT+w511QHk79SYz3LGv/pc5X643B/WEO0rvu3Yww0hqwt3kgeA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
- '@next/swc-darwin-x64@16.3.3':
- resolution: {integrity: sha512-A1lgKgwVchRYmSe467zdwhxT9040dd8lH+o65sL5Jet8fjB4kegw/rDyPIpYVRb6jAqwXFOJpjIXJLxQKLiE3A==}
+ '@next/swc-darwin-x64@16.3.8':
+ resolution: {integrity: sha512-GZtCCOBKJ4leVIT/Th0llWKhD1ca92lzbQiS5R5ON9QkoiFnilFsebDae1JU2a3HWoKMEmEZWGs1AGLavVM72Q==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
- '@next/swc-linux-arm64-gnu@16.3.3':
- resolution: {integrity: sha512-bf0FIssMFueU2dm7vQEWWxk0c8UjKTdW0yzuh0sQsD8pf1+KCLDdaqhYZNMYGmXwEOiHAUzgBKudovIlcvvBjg==}
+ '@next/swc-linux-arm64-gnu@16.3.8':
+ resolution: {integrity: sha512-O659ygeQYqneJ1fBKMpFxIFqYkYswu8IAS1OCKK/4f3ZgJJm1dRz4fVJZRi/kLLWjnBKnebOePA4WNv+sV1pVA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@next/swc-linux-arm64-musl@16.3.3':
- resolution: {integrity: sha512-W7viwCk9JY/cAkdz/A273rd5bb3RgT/IHwR7Upv90tunjBWNtAAhGhoecHh+teRNRSinuAFmE+l7fwZ4YKkrXg==}
+ '@next/swc-linux-arm64-musl@16.3.8':
+ resolution: {integrity: sha512-dSjKSyWpzxoO1d3DIZZcP4XJcNaKeLmxQMFOiYl5vuBRMmweIqnAhty8tAmRsvTss779cK1FtYnDMj40e4TQlg==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@next/swc-linux-x64-gnu@16.3.3':
- resolution: {integrity: sha512-0W46zw1N3ODpI6n0GeivHvvob1pooozgZVqy65k0mh4/7vr+FbY9+WpHzNVXjHipJf/A3FDheBG19H1s5A25rA==}
+ '@next/swc-linux-x64-gnu@16.3.8':
+ resolution: {integrity: sha512-lbqOuz3RPRcv+o9msNsJw5x4+Y1ZwPTs6vmL6DCf7i0fZfvng/F59wyeDwqHIvV0mK//RBy/jJkZ+nCKsSMXjQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@next/swc-linux-x64-musl@16.3.3':
- resolution: {integrity: sha512-H4mBso8ZTMBPtdT0PN0pBx2ayTvQuTuvS6qT13d77yVFJXAPCxkyIhLTmdMaGTJs0krQYI/qpzdHijCeihXhbg==}
+ '@next/swc-linux-x64-musl@16.3.8':
+ resolution: {integrity: sha512-+316WswI8ScVgZeUd+1KGaXkHhaYQzCjvH/05TZSpJ8zBizb1a4G7DtO7F12jcBIqMOtsz9ji1t48fmKtzqsGA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
libc: [musl]
- '@next/swc-win32-arm64-msvc@16.3.3':
- resolution: {integrity: sha512-cTMUJpcEGmeywofCUfhR+rSsoE33+rVPnPEYNTNdLNlsOeEg/vktOsKUSTb28vUGqD2jkm4Zaskcwn7OCI6FQg==}
+ '@next/swc-win32-arm64-msvc@16.3.8':
+ resolution: {integrity: sha512-ji0gd4kMYUxO+1fJBIbiBVRCjzG/lloiyCccnlebvb1ZJ5qXCPZqYg4Jl1DrrixnWNMKylzgpmMWx0yNDYXlzw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- '@next/swc-win32-x64-msvc@16.3.3':
- resolution: {integrity: sha512-2VR4cTBzHXaBjnGsuH6GyJjENzQOmHeAh11uY1iUhjm3j5dEUrVJuUj+VL78jaGi/Dik8xS76zEj18BsFhlVZQ==}
+ '@next/swc-win32-x64-msvc@16.3.8':
+ resolution: {integrity: sha512-WcTlaKt/TWkh5kUjdJcUmB1XgZ+1c6fz4Y9fDHL73YNSdGaUWjceeWrrlwF0nv19iABYWC4iAq1oX1w4Bn0vfg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -763,11 +766,11 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
- brace-expansion@1.1.18:
- resolution: {integrity: sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==}
+ brace-expansion@1.1.21:
+ resolution: {integrity: sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==}
- brace-expansion@5.0.9:
- resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==}
+ brace-expansion@5.0.12:
+ resolution: {integrity: sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==}
engines: {node: 20 || >=22}
braces@3.0.3:
@@ -947,8 +950,8 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
- eslint-config-next@16.3.3:
- resolution: {integrity: sha512-teqtsR26tnlfXFHfVLTM/4tzEzU8DMu6GS1sddZzhfGzgd2f2ofbgDUcsk6cssSCzX6Tk6fmWifJcdANSdPJrw==}
+ eslint-config-next@16.3.8:
+ resolution: {integrity: sha512-81vovwMe6NGnoFsl0KUJWzlS+y239i3fdsxs49gSEX3pDQW2cuKy+fxUPXNkQqqx6OCPheYPtBlSufc9aZ0k+w==}
peerDependencies:
eslint: '>=9.0.0'
typescript: '>=3.3.1'
@@ -1486,8 +1489,8 @@ packages:
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- next@16.3.3:
- resolution: {integrity: sha512-tuRTx1nQ/yVw83cwJBo9F+njGUgMn3UHQycreWHB8XsStvvAh1AthbI8/4IpKnFaF58F+iSiHejYOlMQ/eq83g==}
+ next@16.3.8:
+ resolution: {integrity: sha512-U7QEZaTini6wKrb8A8hqLLqYQyCetegKjCpJOyxk642vWoMoU1x5PyZCJFvgYgiptA8xc5j/9xYlZFO7w9Sjmw==}
engines: {node: '>=20.9.0'}
hasBin: true
peerDependencies:
@@ -2274,37 +2277,37 @@ snapshots:
'@tybys/wasm-util': 0.10.3
optional: true
- '@next/env@16.3.3': {}
+ '@next/env@16.3.8': {}
- '@next/eslint-plugin-next@16.3.3(eslint@9.39.2(supports-color@7.2.0))':
+ '@next/eslint-plugin-next@16.3.8(eslint@9.39.2(supports-color@7.2.0))':
dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(supports-color@7.2.0))
fast-glob: 3.3.1
transitivePeerDependencies:
- eslint
- '@next/swc-darwin-arm64@16.3.3':
+ '@next/swc-darwin-arm64@16.3.8':
optional: true
- '@next/swc-darwin-x64@16.3.3':
+ '@next/swc-darwin-x64@16.3.8':
optional: true
- '@next/swc-linux-arm64-gnu@16.3.3':
+ '@next/swc-linux-arm64-gnu@16.3.8':
optional: true
- '@next/swc-linux-arm64-musl@16.3.3':
+ '@next/swc-linux-arm64-musl@16.3.8':
optional: true
- '@next/swc-linux-x64-gnu@16.3.3':
+ '@next/swc-linux-x64-gnu@16.3.8':
optional: true
- '@next/swc-linux-x64-musl@16.3.3':
+ '@next/swc-linux-x64-musl@16.3.8':
optional: true
- '@next/swc-win32-arm64-msvc@16.3.3':
+ '@next/swc-win32-arm64-msvc@16.3.8':
optional: true
- '@next/swc-win32-x64-msvc@16.3.3':
+ '@next/swc-win32-x64-msvc@16.3.8':
optional: true
'@nodelib/fs.scandir@2.1.5':
@@ -2623,12 +2626,12 @@ snapshots:
baseline-browser-mapping@2.11.19: {}
- brace-expansion@1.1.18:
+ brace-expansion@1.1.21:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
- brace-expansion@5.0.9:
+ brace-expansion@5.0.12:
dependencies:
balanced-match: 4.0.4
@@ -2890,9 +2893,9 @@ snapshots:
escape-string-regexp@4.0.0: {}
- eslint-config-next@16.3.3(@typescript-eslint/parser@8.68.0(eslint@9.39.2(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.2(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3):
+ eslint-config-next@16.3.8(@typescript-eslint/parser@8.68.0(eslint@9.39.2(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.2(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3):
dependencies:
- '@next/eslint-plugin-next': 16.3.3(eslint@9.39.2(supports-color@7.2.0))
+ '@next/eslint-plugin-next': 16.3.8(eslint@9.39.2(supports-color@7.2.0))
eslint: 9.39.2(supports-color@7.2.0)
eslint-import-resolver-node: 0.3.10(supports-color@7.2.0)
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.2(supports-color@7.2.0))(supports-color@7.2.0)
@@ -3483,11 +3486,11 @@ snapshots:
minimatch@10.2.6:
dependencies:
- brace-expansion: 5.0.9
+ brace-expansion: 5.0.12
minimatch@3.1.5:
dependencies:
- brace-expansion: 1.1.18
+ brace-expansion: 1.1.21
minimist@1.2.8: {}
@@ -3501,9 +3504,9 @@ snapshots:
natural-compare@1.4.0: {}
- next@16.3.3(@babel/core@7.29.7(supports-color@7.2.0))(@types/node@24.10.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8):
+ next@16.3.8(@babel/core@7.29.7(supports-color@7.2.0))(@types/node@24.10.1)(react-dom@19.2.8(react@19.2.8))(react@19.2.8):
dependencies:
- '@next/env': 16.3.3
+ '@next/env': 16.3.8
'@swc/helpers': 0.5.23
baseline-browser-mapping: 2.11.19
caniuse-lite: 1.0.30001810
@@ -3512,14 +3515,14 @@ snapshots:
react-dom: 19.2.8(react@19.2.8)
styled-jsx: 5.1.6(@babel/core@7.29.7(supports-color@7.2.0))(react@19.2.8)
optionalDependencies:
- '@next/swc-darwin-arm64': 16.3.3
- '@next/swc-darwin-x64': 16.3.3
- '@next/swc-linux-arm64-gnu': 16.3.3
- '@next/swc-linux-arm64-musl': 16.3.3
- '@next/swc-linux-x64-gnu': 16.3.3
- '@next/swc-linux-x64-musl': 16.3.3
- '@next/swc-win32-arm64-msvc': 16.3.3
- '@next/swc-win32-x64-msvc': 16.3.3
+ '@next/swc-darwin-arm64': 16.3.8
+ '@next/swc-darwin-x64': 16.3.8
+ '@next/swc-linux-arm64-gnu': 16.3.8
+ '@next/swc-linux-arm64-musl': 16.3.8
+ '@next/swc-linux-x64-gnu': 16.3.8
+ '@next/swc-linux-x64-musl': 16.3.8
+ '@next/swc-win32-arm64-msvc': 16.3.8
+ '@next/swc-win32-x64-msvc': 16.3.8
sharp: 0.35.4(@types/node@24.10.1)
transitivePeerDependencies:
- '@babel/core'
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 478324b..68deb25 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -7,3 +7,8 @@ allowBuilds:
# The ESLint resolver ships a small native lookup helper used during linting.
# Its package-local install script is the only dependency build approved here.
unrs-resolver: true
+overrides:
+ # Development tooling resolves an exact 5.0.9 through minimatch, which has
+ # published denial-of-service advisories fixed by 5.0.12. Remove this once
+ # minimatch depends on a fixed release itself.
+ "brace-expansion@>=5.0.0 <5.0.12": 5.0.12