chore: upgrade to Node 24 and modernize CI toolchain

- Bump Node from v22.12.0 to v24.11.1
- Switch CI runner from ubuntu-latest to ubuntu-slim
- Bump all GitHub Actions to v6 (checkout, setup-node, pnpm/action-setup)
- Remove ts-jest in favour of @swc/jest (already the active transform)
- Upgrade pnpm to 11.1.2 and bump minor/patch deps
This commit is contained in:
Nils Schönwald 2026-05-16 13:50:43 +02:00
parent fa5d7b9af1
commit 80f9c15bf4
8 changed files with 132 additions and 380 deletions

View file

@ -8,16 +8,16 @@ on:
concurrency: ${{ github.workflow }}-${{ github.ref }}
permissions:
contents: write # Required for tagging the release
pull-requests: write # Required for creating release PRs
contents: write # Required for tagging the release
pull-requests: write # Required for creating release PRs
jobs:
draft-release:
name: Draft Release PR
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- name: Checkout Repo
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
token: ${{ secrets.USER_TOKEN }}

View file

@ -17,21 +17,21 @@ env:
jobs:
release:
name: Create GitHub Release
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- name: Checkout Repo
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
token: ${{ secrets.USER_TOKEN }}
- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Install pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v6
- name: Install dependencies
run: pnpm install --frozen-lockfile

View file

@ -13,18 +13,18 @@ on:
jobs:
test:
runs-on: ubuntu-latest
runs-on: ubuntu-slim
steps:
- name: Checkout Repo
uses: actions/checkout@v4
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version-file: '.nvmrc'
- name: Install pnpm
uses: pnpm/action-setup@v4
uses: pnpm/action-setup@v6
- name: install dependencies
run: pnpm install --frozen-lockfile

2
.nvmrc
View file

@ -1 +1 @@
v22.12.0
v24.11.1

View file

@ -6,9 +6,7 @@ Also see [AGENTS.md](AGENTS.md) for general Obsidian plugin development guidelin
Before every commit, you MUST:
1. **Lint** — Run `pnpm test:lint` and fix any issues
2. **Test** — Run `pnpm test:jest` and ensure all tests pass
3. **Changeset** — Add a changeset file in `.changeset/` describing the change (use `patch` for fixes/improvements, `minor` for new features)
- **Changeset** — Check `.changeset/` for an existing changeset that covers the changes. If none exists, add one (use `patch` for fixes/improvements, `minor` for new features). If one exists, propose an update if needed.
## Project overview

View file

@ -1,5 +1,4 @@
module.exports = {
preset: 'ts-jest',
testEnvironment: 'jsdom',
transform: {
'^.+\\.[jt]sx?$': '@swc/jest',

View file

@ -31,28 +31,27 @@
"@swc/core": "^1.15.33",
"@swc/jest": "^0.2.39",
"@types/jest": "^30.0.0",
"@types/node": "^25.6.2",
"@typescript-eslint/eslint-plugin": "^8.59.2",
"@typescript-eslint/parser": "^8.59.2",
"@types/node": "^25.8.0",
"@typescript-eslint/eslint-plugin": "^8.59.3",
"@typescript-eslint/parser": "^8.59.3",
"cross-env": "^10.1.0",
"esbuild": "^0.28.0",
"eslint": "^10.4.0",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
"jest": "^30.4.1",
"jest": "^30.4.2",
"jest-environment-jsdom": "^30.4.1",
"jest-util": "^30.4.1",
"jiti": "^2.7.0",
"obsidian": "^1.12.3",
"prettier": "^3.8.3",
"simple-git-hooks": "^2.13.1",
"ts-jest": "^29.4.9",
"tslib": "^2.8.1",
"typescript": "^6.0.3",
"typescript-eslint": "^8.59.2",
"typescript-eslint": "^8.59.3",
"yaml": "^2.9.0"
},
"packageManager": "pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a",
"packageManager": "pnpm@11.1.2",
"pnpm": {
"onlyBuiltDependencies": [
"@swc/core",

File diff suppressed because it is too large Load diff