Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
9726469
chore(deps): bump deps
stackmystack Nov 16, 2025
fc41996
test(no_cmd): fix expected
stackmystack Nov 16, 2025
680b848
deps: anyhow: remove from lib
stackmystack Dec 13, 2025
c6d5518
refactor(error): get rid of thiserror
stackmystack Dec 14, 2025
e55ced9
refactor(error): use Display
stackmystack Dec 14, 2025
483c54e
refactor(error): better error message display
stackmystack Dec 14, 2025
6cc9956
refactor(error): make TsdlError a tree
stackmystack Dec 14, 2025
3749544
refactor(error): simplify some call sites
stackmystack Dec 14, 2025
528ca2a
chore(deps): bump deps
stackmystack Dec 14, 2025
115a622
chore(cargo): fmt
stackmystack Dec 14, 2025
50d98b8
chore(cargo): clippy --fix
stackmystack Dec 14, 2025
17114db
refactor(error): display using proper formatting
stackmystack Dec 14, 2025
9ecaa42
refactor(parser): unify error construction
stackmystack Dec 14, 2025
b37b5f9
refactor(parser): avoid functional style for errs
stackmystack Dec 14, 2025
bc17deb
refactor(build): avoid functional style for errs and needless contexts
stackmystack Dec 14, 2025
4744a58
refactor(all): avoid unwraps and better propagate errors
stackmystack Dec 14, 2025
1b64275
refactor(error): restor proper contexts
stackmystack Dec 14, 2025
f830b58
chore(app): introduce a single central state
stackmystack Dec 14, 2025
bd4ae5d
refactor(app): use more natural names
stackmystack Dec 14, 2025
9441aad
refactor(build): simplify unique_languages
stackmystack Dec 14, 2025
e3dc055
refactor(build) get_language_coords for readability
stackmystack Dec 14, 2025
52097c3
refactor(build): avoid functional style in resolve_git_ref
stackmystack Dec 14, 2025
04be7ac
test(build): fix
stackmystack Dec 14, 2025
cd238ae
refactor(build): s/version/ref for --tree-sitter-*
stackmystack Dec 15, 2025
c09ec64
feat(cache): to skip useless rebuilds and --force to override
stackmystack Dec 26, 2025
32227b9
fix(display): integer math
stackmystack Dec 26, 2025
b88cf05
refactor(build): use the -file and -dir postfixes consistently
stackmystack Dec 27, 2025
d5bf6c4
refactor(all): style
stackmystack Dec 27, 2025
88cb8e4
feat(cache): smarter handling of --target=all
stackmystack Dec 27, 2025
1374554
refactor(parser): use install terminology
stackmystack Dec 27, 2025
7b6ec40
fix(build): --force = --fresh when installing
stackmystack Dec 28, 2025
1c0cceb
feature(lock): output dir
stackmystack Dec 28, 2025
ee19cd4
refactor(parser): use async hard-linking
stackmystack Dec 28, 2025
495604f
refactor(parser): use join set
stackmystack Dec 28, 2025
d25750b
refactor(parser): decouple cache and its mutex
stackmystack Dec 28, 2025
74b21bb
feat(actor)!: this is a major rewrite
stackmystack Dec 28, 2025
cc2ba69
refactor(build.rs): now it's easier to read
stackmystack Jan 6, 2026
11d82a5
refactor(progress): no more locks!
stackmystack Jan 7, 2026
232b4de
refactor(actors): fix Arc<str> issues
stackmystack Jan 8, 2026
eda9996
refactor(config): revert to tree-sitter-version and fix display
stackmystack Feb 19, 2026
c0aa480
test: --retries 0 after bumping tree-sitter
stackmystack Feb 19, 2026
852f400
chore(depandabot): filter security patches only
stackmystack Feb 19, 2026
240d2cf
bump(deps): latest
stackmystack Feb 19, 2026
1360d34
feat(cli): tag each downloaded cli with its proper version
stackmystack Feb 20, 2026
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
35 changes: 7 additions & 28 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,16 @@
version: 2
updates:
# Maintain dependencies for Cargo
- package-ecosystem: cargo
- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-patch"]
groups:
dependencies:
update-types:
- "minor"
- "major"
patterns:
- "*"
allow:
- dependency-type: "direct"
interval: "daily"
# Disables regular version updates while allowing security PRs
open-pull-requests-limit: 0

# Maintain dependencies for GitHub Actions
- package-ecosystem: github-actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: weekly
open-pull-requests-limit: 5
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-patch"]
groups:
github-actions:
update-types:
- "minor"
- "major"
patterns:
- "*"
interval: "weekly"
open-pull-requests-limit: 0
54 changes: 41 additions & 13 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Build

on:
workflow_call
on: workflow_call

env:
CARGO_TERM_COLOR: always
Expand All @@ -27,12 +26,32 @@ jobs:
# When adding a new `target`:
# 1. Define a new platform alias above
# 2. Add a new record to a matrix map in `cli/npm/install.js`
- { platform: linux-arm , target: arm-unknown-linux-gnueabi , os: ubuntu-latest }
- { platform: linux-arm64 , target: aarch64-unknown-linux-gnu , os: ubuntu-latest }
- { platform: linux-x64 , target: x86_64-unknown-linux-gnu , os: ubuntu-latest }
- { platform: linux-x86 , target: i686-unknown-linux-gnu , os: ubuntu-latest }
- { platform: macos-arm64 , target: aarch64-apple-darwin , os: macos-latest }
- { platform: macos-x64 , target: x86_64-apple-darwin , os: macos-13 }
- {
platform: linux-arm,
target: arm-unknown-linux-gnueabi,
os: ubuntu-latest,
}
- {
platform: linux-arm64,
target: aarch64-unknown-linux-gnu,
os: ubuntu-latest,
}
- {
platform: linux-x64,
target: x86_64-unknown-linux-gnu,
os: ubuntu-latest,
}
- {
platform: linux-x86,
target: i686-unknown-linux-gnu,
os: ubuntu-latest,
}
- {
platform: macos-arm64,
target: aarch64-apple-darwin,
os: macos-latest,
}
- { platform: macos-x64, target: x86_64-apple-darwin, os: macos-15 }

env:
BUILD_CMD: cargo
Expand All @@ -42,10 +61,12 @@ jobs:
shell: bash

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- run: rustup toolchain install stable --profile minimal
- run: rustup target add ${{ matrix.target }}
- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
target: ${{ matrix.target }}

- name: Install cross
if: ${{ matrix.os == 'ubuntu-latest' }}
Expand All @@ -66,7 +87,14 @@ jobs:

echo "FROM ghcr.io/cross-rs/$target:edge" >> Dockerfile
echo "RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash -" >> Dockerfile
echo "RUN apt-get update && apt-get -y install nodejs" >> Dockerfile

# Add clang to bypass the GCC memcmp bug in rustls
echo "RUN apt-get update && apt-get -y install nodejs clang" >> Dockerfile

# Explicitly set Clang as the fallback C/C++ compiler
echo "ENV CC=clang" >> Dockerfile
echo "ENV CXX=clang++" >> Dockerfile

docker build -t $image .

- name: Setup env extras
Expand Down Expand Up @@ -98,7 +126,7 @@ jobs:
# So I abandoned it. We have to rely on the fact that tree-sitter-cli is well tested
# on these platforms, and we need to make sure that tsdl itself runs well on linux/macOS.
- name: Upload CLI artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: tsdl.${{ matrix.platform }}
path: target/${{ matrix.target }}/release/tsdl
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ jobs:
checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- run: rustup toolchain install stable --profile minimal
- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1

- name: Install just
uses: taiki-e/install-action@v2
Expand Down
14 changes: 5 additions & 9 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ jobs:
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Download build artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v6
with:
path: artifacts

Expand Down Expand Up @@ -60,14 +60,10 @@ jobs:
runs-on: ubuntu-latest
needs: release
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1

- name: Publish crates to Crates.io
uses: katyo/publish-crates@v2
Expand Down
16 changes: 7 additions & 9 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
name: Test

on:
workflow_call
on: workflow_call

env:
CARGO_TERM_COLOR: always
Expand All @@ -24,18 +23,17 @@ jobs:
shell: bash

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- run: rustup toolchain install stable --profile minimal
- name: Set up Rust
uses: actions-rust-lang/setup-rust-toolchain@v1

- name: Install emcc
uses: mymindstorm/setup-emsdk@v14

- name: Install test tools
uses: taiki-e/install-action@v2
with:
tool: cargo-nextest,just

- name: Install emcc
uses: mymindstorm/setup-emsdk@v14
- name: Verify emcc
run: emcc -v

- run: just test
Loading