From 01530825762dc49ebd49c42ac5689185759aeb5c Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Thu, 13 Nov 2025 07:44:32 +0100 Subject: [PATCH] chore(frontend): build with Node 24 --- .github/workflows/main.yaml | 12 +++++----- frontend/package.json | 6 ++--- frontend/pnpm-lock.yaml | 48 ++++++++++++++++++------------------- frontend/tsconfig.node.json | 6 +++-- 4 files changed, 37 insertions(+), 35 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index b14c0b49..8759ac67 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -19,7 +19,7 @@ jobs: package_json_file: "frontend/package.json" - uses: actions/setup-node@v6 with: - node-version: "22.x" + node-version: "24.x" cache: "pnpm" cache-dependency-path: "frontend/pnpm-lock.yaml" - run: make lint-frontend @@ -47,7 +47,7 @@ jobs: package_json_file: "frontend/package.json" - uses: actions/setup-node@v6 with: - node-version: "22.x" + node-version: "24.x" cache: "pnpm" cache-dependency-path: "frontend/pnpm-lock.yaml" - run: make test-frontend @@ -82,17 +82,17 @@ jobs: package_json_file: "frontend/package.json" - uses: actions/setup-node@v6 with: - node-version: "22.x" + node-version: "24.x" cache: "pnpm" cache-dependency-path: "frontend/pnpm-lock.yaml" - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v3 - name: Build frontend run: make build-frontend - name: Login to Docker Hub - uses: docker/login-action@v1 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} diff --git a/frontend/package.json b/frontend/package.json index e9d100bb..44247d05 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -4,7 +4,7 @@ "private": true, "type": "module", "engines": { - "node": ">=22.0.0", + "node": ">=24.0.0", "pnpm": ">=9.0.0" }, "scripts": { @@ -52,9 +52,9 @@ "devDependencies": { "@intlify/unplugin-vue-i18n": "^11.0.1", "@playwright/test": "^1.54.1", - "@tsconfig/node22": "^22.0.2", + "@tsconfig/node24": "^24.0.2", "@types/lodash-es": "^4.17.12", - "@types/node": "^22.10.10", + "@types/node": "^24.10.1", "@typescript-eslint/eslint-plugin": "^8.37.0", "@vitejs/plugin-legacy": "^7.2.1", "@vitejs/plugin-vue": "^6.0.1", diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index bb8a1432..d2fc319e 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -105,24 +105,24 @@ importers: '@playwright/test': specifier: ^1.54.1 version: 1.56.1 - '@tsconfig/node22': - specifier: ^22.0.2 - version: 22.0.2 + '@tsconfig/node24': + specifier: ^24.0.2 + version: 24.0.2 '@types/lodash-es': specifier: ^4.17.12 version: 4.17.12 '@types/node': - specifier: ^22.10.10 - version: 22.19.1 + specifier: ^24.10.1 + version: 24.10.1 '@typescript-eslint/eslint-plugin': specifier: ^8.37.0 version: 8.46.4(@typescript-eslint/parser@8.37.0(eslint@9.39.1)(typescript@5.6.3))(eslint@9.39.1)(typescript@5.6.3) '@vitejs/plugin-legacy': specifier: ^7.2.1 - version: 7.2.1(terser@5.44.1)(vite@7.2.2(@types/node@22.19.1)(terser@5.44.1)(yaml@2.7.0)) + version: 7.2.1(terser@5.44.1)(vite@7.2.2(@types/node@24.10.1)(terser@5.44.1)(yaml@2.7.0)) '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.2.2(@types/node@22.19.1)(terser@5.44.1)(yaml@2.7.0))(vue@3.5.24(typescript@5.6.3)) + version: 6.0.1(vite@7.2.2(@types/node@24.10.1)(terser@5.44.1)(yaml@2.7.0))(vue@3.5.24(typescript@5.6.3)) '@vue/eslint-config-prettier': specifier: ^10.2.0 version: 10.2.0(eslint@9.39.1)(prettier@3.6.2) @@ -164,7 +164,7 @@ importers: version: 5.44.1 vite: specifier: ^7.2.2 - version: 7.2.2(@types/node@22.19.1)(terser@5.44.1)(yaml@2.7.0) + version: 7.2.2(@types/node@24.10.1)(terser@5.44.1)(yaml@2.7.0) vite-plugin-compression2: specifier: ^2.3.1 version: 2.3.1(rollup@4.52.5) @@ -1145,8 +1145,8 @@ packages: cpu: [x64] os: [win32] - '@tsconfig/node22@22.0.2': - resolution: {integrity: sha512-Kmwj4u8sDRDrMYRoN9FDEcXD8UpBSaPQQ24Gz+Gamqfm7xxn+GBR7ge/Z7pK8OXNGyUzbSwJj+TH6B+DS/epyA==} + '@tsconfig/node24@24.0.2': + resolution: {integrity: sha512-CNeOLUPI9PjbBc1DSIqb3GF/u+3kX/TDe9DKCzoI62mYI4dEDrMQ0r/9+SfYACP4UNMbiTlz7n8H7Rx/xTisQg==} '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -1164,8 +1164,8 @@ packages: '@types/lodash@4.17.13': resolution: {integrity: sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==} - '@types/node@22.19.1': - resolution: {integrity: sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==} + '@types/node@24.10.1': + resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==} '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} @@ -2557,8 +2557,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - undici-types@6.21.0: - resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} unicode-canonical-property-names-ecmascript@2.0.1: resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} @@ -3819,7 +3819,7 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.52.5': optional: true - '@tsconfig/node22@22.0.2': {} + '@tsconfig/node24@24.0.2': {} '@types/estree@1.0.8': {} @@ -3835,9 +3835,9 @@ snapshots: '@types/lodash@4.17.13': {} - '@types/node@22.19.1': + '@types/node@24.10.1': dependencies: - undici-types: 6.21.0 + undici-types: 7.16.0 '@types/trusted-types@2.0.7': optional: true @@ -4040,7 +4040,7 @@ snapshots: global: 4.4.0 is-function: 1.0.2 - '@vitejs/plugin-legacy@7.2.1(terser@5.44.1)(vite@7.2.2(@types/node@22.19.1)(terser@5.44.1)(yaml@2.7.0))': + '@vitejs/plugin-legacy@7.2.1(terser@5.44.1)(vite@7.2.2(@types/node@24.10.1)(terser@5.44.1)(yaml@2.7.0))': dependencies: '@babel/core': 7.28.5 '@babel/plugin-transform-dynamic-import': 7.27.1(@babel/core@7.28.5) @@ -4055,14 +4055,14 @@ snapshots: regenerator-runtime: 0.14.1 systemjs: 6.15.1 terser: 5.44.1 - vite: 7.2.2(@types/node@22.19.1)(terser@5.44.1)(yaml@2.7.0) + vite: 7.2.2(@types/node@24.10.1)(terser@5.44.1)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@6.0.1(vite@7.2.2(@types/node@22.19.1)(terser@5.44.1)(yaml@2.7.0))(vue@3.5.24(typescript@5.6.3))': + '@vitejs/plugin-vue@6.0.1(vite@7.2.2(@types/node@24.10.1)(terser@5.44.1)(yaml@2.7.0))(vue@3.5.24(typescript@5.6.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 - vite: 7.2.2(@types/node@22.19.1)(terser@5.44.1)(yaml@2.7.0) + vite: 7.2.2(@types/node@24.10.1)(terser@5.44.1)(yaml@2.7.0) vue: 3.5.24(typescript@5.6.3) '@volar/language-core@2.4.23': @@ -5318,7 +5318,7 @@ snapshots: typescript@5.6.3: {} - undici-types@6.21.0: {} + undici-types@7.16.0: {} unicode-canonical-property-names-ecmascript@2.0.1: {} @@ -5399,7 +5399,7 @@ snapshots: transitivePeerDependencies: - rollup - vite@7.2.2(@types/node@22.19.1)(terser@5.44.1)(yaml@2.7.0): + vite@7.2.2(@types/node@24.10.1)(terser@5.44.1)(yaml@2.7.0): dependencies: esbuild: 0.25.11 fdir: 6.5.0(picomatch@4.0.3) @@ -5408,7 +5408,7 @@ snapshots: rollup: 4.52.5 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 22.19.1 + '@types/node': 24.10.1 fsevents: 2.3.3 terser: 5.44.1 yaml: 2.7.0 diff --git a/frontend/tsconfig.node.json b/frontend/tsconfig.node.json index ba9a7ac3..a161adff 100644 --- a/frontend/tsconfig.node.json +++ b/frontend/tsconfig.node.json @@ -1,5 +1,5 @@ { - "extends": "@tsconfig/node22/tsconfig.json", + "extends": "@tsconfig/node24/tsconfig.json", "include": [ "vite.config.*", "vitest.config.*", @@ -13,6 +13,8 @@ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", "module": "ESNext", "moduleResolution": "Bundler", - "types": ["node"] + "types": [ + "node" + ] } }