Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 0 additions & 12 deletions .githooks/_/pre-commit

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: pnpm
cache-dependency-path: '**/pnpm-lock.yaml'
cache-dependency-path: "**/pnpm-lock.yaml"

- name: Prewarm & Install (workspace)
run: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Nightly Release
on:
schedule:
- cron: "0 5 * * *" # 05:00 UTC daily
workflow_dispatch: {} # allow manual runs too
workflow_dispatch: {} # allow manual runs too

permissions:
contents: read
Expand All @@ -19,7 +19,7 @@ jobs:
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
Expand All @@ -28,9 +28,9 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: pnpm
cache-dependency-path: '**/pnpm-lock.yaml'
cache-dependency-path: "**/pnpm-lock.yaml"

- name: Install dependencies (root)
run: pnpm install --frozen-lockfile
Expand Down
18 changes: 10 additions & 8 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,29 @@ env:
jobs:
build-and-package:
runs-on: ubuntu-latest
# Skip for draft PRs; remove this line if you want to run on drafts too
if: ${{ github.event.pull_request.draft == false }}

steps:
- name: Checkout code
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: latest
version: 10

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: 22
node-version: 24
cache: pnpm
cache-dependency-path: '**/pnpm-lock.yaml'
cache-dependency-path: "**/pnpm-lock.yaml"

- name: Prefetch dependencies
run: pnpm fetch

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: pnpm install --frozen-lockfile --prefer-offline

- name: Run linter
run: pnpm run lint
Expand Down
17 changes: 8 additions & 9 deletions .github/workflows/release-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ on:
packages:
description: 'Packages to release (comma-separated, or "all")'
required: false
default: 'all'
default: "all"
bump:
description: 'Semver bump (patch | minor | major)'
description: "Semver bump (patch | minor | major)"
required: false
default: 'patch'
default: "patch"

jobs:
release:
runs-on: ubuntu-latest
permissions:
contents: write # we commit the bumped versions back
id-token: write # required for JSR OIDC
contents: write # we commit the bumped versions back
id-token: write # required for JSR OIDC
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
Expand All @@ -32,10 +32,10 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: pnpm
cache-dependency-path: '**/pnpm-lock.yaml'
registry-url: 'https://registry.npmjs.org'
cache-dependency-path: "**/pnpm-lock.yaml"
registry-url: "https://registry.npmjs.org"

- name: Install dependencies
run: pnpm install --frozen-lockfile
Expand Down Expand Up @@ -82,7 +82,6 @@ jobs:
fi
done


- name: Commit version bumps
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release-web.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
node-version: 24
cache: pnpm
cache-dependency-path: '**/pnpm-lock.yaml'
cache-dependency-path: "**/pnpm-lock.yaml"

- name: Install dependencies
run: pnpm install --frozen-lockfile
Expand Down Expand Up @@ -139,7 +139,7 @@ jobs:
push: ${{ github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && inputs.tag_name != '') }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
provenance: false
provenance: false

- name: Output image refs
if: ${{ github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && inputs.tag_name != '') }}
Expand Down
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pnpm lint-staged
Copy link

Copilot AI Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Husky hook file is missing a shebang (and the standard Husky wrapper), so Git may fail to execute it (ENOEXEC) and block commits on POSIX systems. Add the usual hook header and ensure the file is executable, e.g. start with a #!/usr/bin/env sh (or #!/bin/sh) line and source .husky/_/husky.sh before running pnpm lint-staged.

Copilot uses AI. Check for mistakes.
6 changes: 1 addition & 5 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
{
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.biome": "explicit"
},
"search.exclude": {
"**/i18n/locales/*-*/**": true
},
"vitest.workspaceConfig": "vitest.config.ts"
}
}
75 changes: 0 additions & 75 deletions biome.json

This file was deleted.

32 changes: 19 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,38 @@
"url": "https://github.com/meshtastic/web/issues"
},
"homepage": "https://meshtastic.org",
"simple-git-hooks": {
"pre-commit": "pnpm run check:fix"
"lint-staged": {
"*.{ts,tsx}": [
"oxlint",
"oxfmt"
]
},
"scripts": {
"preinstall": "npx only-allow pnpm",
"lint": "biome lint",
"lint:fix": "biome lint --write",
"format": "biome format",
"format:fix": "biome format . --write",
"check": "biome check",
"check:fix": "biome check --write",
"lint": "oxlint",
"lint:fix": "oxlint --fix",
"format": "oxfmt --check .",
"format:fix": "oxfmt .",
"check": "pnpm lint && pnpm format",
"check:fix": "pnpm lint:fix && pnpm format:fix",
"build:all": "pnpm run --filter '*' build",
"clean:all": "pnpm run --filter '*' clean",
"publish:packages": "pnpm run build --filter 'packages/transport-*'",
"test": "vitest"
"test": "vitest",
"prepare": "husky"
},
"dependencies": {
"@bufbuild/protobuf": "^2.9.0",
"@meshtastic/protobufs": "npm:@jsr/meshtastic__protobufs@^2.7.18",
"@meshtastic/protobufs": "jsr:^2.7.18",
"ste-simple-events": "^3.0.11",
"tslog": "^4.9.3"
},
"devDependencies": {
"@biomejs/biome": "2.2.4",
"@types/node": "^24.3.1",
"husky": "^9.1.0",
"lint-staged": "^16.0.0",
"oxfmt": "^0.16.0",
"oxlint": "^1.41.0",
"tsdown": "^0.15.0",
"typescript": "^5.9.2",
"vitest": "^3.2.4"
Expand All @@ -46,8 +53,7 @@
"@serialport/bindings-cpp",
"@tailwindcss/oxide",
"core-js",
"esbuild",
"simple-git-hooks"
"esbuild"
]
}
}
Loading
Loading