Use Node 24 in CI and for building the frontend (#5229)

This commit is contained in:
Quentin Gliech
2025-11-17 10:17:04 +01:00
committed by GitHub
13 changed files with 932 additions and 1534 deletions

View File

@@ -10,9 +10,9 @@ runs:
using: composite
steps:
- name: Install Node
uses: actions/setup-node@v4.2.0
uses: actions/setup-node@v6.0.0
with:
node-version: "22"
node-version: "24"
- name: Install dependencies
run: npm ci

View File

@@ -66,7 +66,7 @@ jobs:
- name: Install Node
uses: actions/setup-node@v6.0.0
with:
node-version: 22
node-version: 24
- name: Install Node dependencies
working-directory: ./frontend
@@ -90,7 +90,7 @@ jobs:
- name: Install Node
uses: actions/setup-node@v6.0.0
with:
node-version: 22
node-version: 24
- name: Install Node dependencies
working-directory: ./frontend
@@ -114,7 +114,7 @@ jobs:
- name: Install Node
uses: actions/setup-node@v6.0.0
with:
node-version: 20
node-version: 24
- name: Install Node dependencies
working-directory: ./frontend

View File

@@ -41,7 +41,7 @@ jobs:
- name: Install Node
uses: actions/setup-node@v6.0.0
with:
node-version: 22
node-version: 24
- name: Build the documentation
run: sh misc/build-docs.sh

View File

@@ -66,7 +66,7 @@ jobs:
- name: Install Node
uses: actions/setup-node@v6.0.0
with:
node-version: 22
node-version: 24
- name: Install Localazy CLI
run: npm install -g @localazy/cli

View File

@@ -24,7 +24,7 @@ jobs:
- name: Install Node
uses: actions/setup-node@v6.0.0
with:
node-version: 22
node-version: 24
- name: Install Localazy CLI
run: npm install -g @localazy/cli

View File

@@ -23,7 +23,7 @@ jobs:
- name: Install Node
uses: actions/setup-node@v6.0.0
with:
node-version: 22
node-version: 24
- name: Install Localazy CLI
run: npm install -g @localazy/cli

View File

@@ -13,7 +13,7 @@
ARG DEBIAN_VERSION=12
ARG DEBIAN_VERSION_NAME=bookworm
ARG RUSTC_VERSION=1.89.0
ARG NODEJS_VERSION=22.19.0
ARG NODEJS_VERSION=24.11.0
# Keep in sync with .github/actions/build-policies/action.yml and policies/Makefile
ARG OPA_VERSION=1.8.0
ARG CARGO_AUDITABLE_VERSION=0.7.0

View File

@@ -1,33 +0,0 @@
// Copyright 2024, 2025 New Vector Ltd.
// Copyright 2023, 2024 The Matrix.org Foundation C.I.C.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
// Please see LICENSE files in the repository root for full details.
import type { UserConfig } from "i18next-parser";
export default {
keySeparator: ".",
pluralSeparator: ":",
defaultNamespace: "frontend",
lexers: {
ts: [
{
lexer: "JavascriptLexer",
functions: ["t"],
namespaceFunctions: ["useTranslation", "withTranslation"],
},
],
tsx: [
{
lexer: "JsxLexer",
functions: ["t"],
namespaceFunctions: ["useTranslation", "withTranslation"],
},
],
},
locales: ["en"],
output: "locales/$LOCALE.json",
input: ["src/**/*.{ts,tsx}"],
sort: true,
} satisfies UserConfig;

View File

@@ -0,0 +1,18 @@
// Copyright 2025 New Vector Ltd.
//
// SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
// Please see LICENSE files in the repository root for full details.
import { defineConfig } from "i18next-cli";
export default defineConfig({
locales: ["en"],
extract: {
input: "src/**/*.{ts,tsx}",
output: "locales/{{language}}.json",
defaultNS: false,
pluralSeparator: ":",
keySeparator: ".",
sort: true,
},
});

View File

@@ -7,7 +7,12 @@ import type { KnipConfig } from "knip";
export default {
entry: ["src/main.tsx", "src/swagger.ts", "src/routes/*"],
ignore: ["src/gql/*", "src/routeTree.gen.ts", ".storybook/locales.ts"],
ignore: [
"src/gql/*",
"src/routeTree.gen.ts",
".storybook/locales.ts",
"i18next.config.ts",
],
ignoreDependencies: [
// This is used by the tailwind PostCSS plugin, but not detected by knip
"postcss-nesting",

View File

@@ -287,9 +287,6 @@
"delete_button_title": "Remove email address",
"email": "Email"
},
"user_email_list": {
"no_primary_email_alert": "No primary email address"
},
"user_sessions_overview": {
"heading": "Where you're signed in",
"no_active_sessions": {

File diff suppressed because it is too large Load Diff

View File

@@ -5,8 +5,8 @@
"type": "module",
"scripts": {
"dev": "vite",
"generate": "graphql-codegen && i18next",
"lint": "graphql-codegen && biome check && tsc && i18next --fail-on-warnings --fail-on-update",
"generate": "graphql-codegen && i18next-cli extract",
"lint": "graphql-codegen && biome check && tsc && i18next-cli extract --ci",
"format": "biome format --write",
"build": "rimraf ./dist/ && vite build",
"preview": "vite preview",
@@ -14,7 +14,7 @@
"coverage": "vitest run --coverage",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build",
"i18n": "i18next",
"i18n": "i18next-cli",
"knip": "knip"
},
"dependencies": {
@@ -64,7 +64,7 @@
"browserslist-to-esbuild": "^2.1.1",
"graphql": "^16.11.0",
"happy-dom": "^20.0.4",
"i18next-parser": "^9.3.0",
"i18next-cli": "^1.22.1",
"knip": "^5.66.4",
"msw": "^2.11.6",
"msw-storybook-addon": "^2.0.5",