diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index dc0fcadb..336e619b 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -19,7 +19,7 @@ concurrency: jobs: deployment: name: Perform deployment - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 permissions: read-all environment: @@ -28,7 +28,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 @@ -50,7 +50,7 @@ jobs: run: heroku container:login - name: Build Docker image - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: push: true provenance: false diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml index aac2afb0..6d314f00 100644 --- a/.github/workflows/integration.yaml +++ b/.github/workflows/integration.yaml @@ -15,18 +15,18 @@ on: jobs: validate-pr-title: name: Validate PR title - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - - uses: amannn/action-semantic-pull-request@v5 + - uses: amannn/action-semantic-pull-request@v6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} integration: name: Continuous integration checks - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 ref: ${{ github.event.pull_request.head.sha }} @@ -41,7 +41,7 @@ jobs: uses: pnpm/action-setup@v4.0.0 - name: Setup Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version-file: .nvmrc cache: pnpm @@ -62,7 +62,7 @@ jobs: run: pnpm test - name: Build Docker image for project - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: push: false cache-from: type=gha diff --git a/.nvmrc b/.nvmrc index 8326e27f..00b86926 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.3.0 +25.4.0 diff --git a/Dockerfile b/Dockerfile index 71625e10..e5b3b825 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22.3.0-alpine as base +FROM node:25.4.0-alpine as base WORKDIR /app @@ -29,7 +29,7 @@ RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store/v3 \ pnpm prune --prod && \ pnpm install --production --frozen-lockfile --offline -FROM node:22.3.0-alpine as application +FROM node:25.4.0-alpine as application WORKDIR /app diff --git a/docker-compose.yaml b/docker-compose.yaml index f926130a..4990bf0e 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -5,7 +5,7 @@ volumes: services: redis: - image: redis:7.2.5-alpine + image: redis:8.4.0-alpine ports: - '6379:6379' volumes: diff --git a/package.json b/package.json index 01f9f1c5..41675768 100644 --- a/package.json +++ b/package.json @@ -15,38 +15,38 @@ "check": "run-s check:*" }, "dependencies": { - "@keyv/redis": "2.8.5", + "@keyv/redis": "5.1.6", "change-case": "5.4.4", "cheerio": "1.0.0-rc.12", - "cron": "3.1.7", + "cron": "4.4.0", "discord.js": "14.15.3", "ioredis": "5.4.1", - "keyv": "4.5.4", + "keyv": "5.6.0", "nanoid": "5.0.7", "open-graph-scraper": "6.5.2", - "zod": "3.23.8" + "zod": "4.3.6" }, "devDependencies": { - "@types/node": "20.14.2", - "@typescript-eslint/eslint-plugin": "7.13.0", - "@typescript-eslint/parser": "7.13.0", - "dotenv": "16.4.5", - "eslint": "8.57.0", - "eslint-import-resolver-typescript": "3.6.1", + "@types/node": "25.0.10", + "@typescript-eslint/eslint-plugin": "8.53.1", + "@typescript-eslint/parser": "8.53.1", + "dotenv": "17.2.3", + "eslint": "9.39.2", + "eslint-import-resolver-typescript": "4.4.4", "eslint-plugin-import": "2.29.1", "eslint-plugin-only-error": "1.0.2", "eslint-plugin-simple-import-sort": "12.1.0", - "eslint-plugin-sonarjs": "1.0.3", - "eslint-plugin-unused-imports": "3.2.0", - "npm-run-all2": "6.2.0", + "eslint-plugin-sonarjs": "3.0.5", + "eslint-plugin-unused-imports": "4.3.0", + "npm-run-all2": "8.0.4", "prettier": "3.3.2", "tsup": "8.1.0", - "type-fest": "4.20.0", + "type-fest": "5.4.1", "typescript": "5.4.5", "vitest": "1.6.0" }, - "packageManager": "pnpm@9.3.0", + "packageManager": "pnpm@10.28.1", "engines": { - "node": "22.3.0" + "node": "25.4.0" } }