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
8 changes: 8 additions & 0 deletions .trunk/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
*out
*logs
*actions
*notifications
*tools
plugins
user_trunk.yaml
user.yaml
83 changes: 83 additions & 0 deletions .trunk/trunk.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
# =============================================================================
# Trunk.io — Plugin versions for linting/formatting tools
# =============================================================================
# This file is auto-generated. Run `trunk upgrade` to update.
# https://docs.trunk.io/check/reference
# =============================================================================

version: 0.1

# CLI version pinned for reproducible runs (matches the version CI downloads).
cli:
version: 1.22.2

# The `trunk` plugin provides the linter/formatter definitions used below.
# User definitions merge over the plugin: fields set in this file override the
# plugin, everything else (files, tools, runtimes, version pins) is inherited.
plugins:
sources:
- id: trunk
ref: v1.11.0
uri: https://github.com/trunk-io/plugins

lint:
# Repo-specific command overrides merged over the plugin definitions.
definitions:
# black: enforce 100-char line length in both lint and format modes.
- name: black
commands:
- name: lint
output: pass_fail
run: black --check --line-length 100 ${target}
success_codes: [0, 1]
- name: format
output: rewrite
run: black --line-length 100 ${target}
success_codes: [0]
batch: true
in_place: true
formatter: true
# clippy: lint all targets/features and fail on any warning.
- name: clippy
commands:
- name: lint
output: clippy
target: ${parent_with(Cargo.toml)}
run: >
cargo clippy --message-format json --all-targets
--all-features
--locked -- -D warnings
success_codes: [0, 101, 383]
disable_upstream: true

# Enabled tools (plugin defaults unless overridden above). Versions are
# pinned explicitly: an unpinned entry resolves to the SYSTEM copy of the
# tool instead of a trunk-managed install.
enabled:
- actionlint@1.7.8
- black@25.9.0
- clippy@1.88.0
- eslint@8.10.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Align Trunk ESLint with the SDK config

In PRs that touch sdk/typescript/**/*.ts, this enabled linter makes Trunk run its managed eslint@8.10.0 from the checkout-only trunk-check workflow, but the TypeScript SDK is configured for flat-config ESLint 9 (eslint.config.js imports eslint/config, @eslint/js, typescript-eslint, and eslint-plugin-node-import, and package.json pins eslint to ^9.36.0). That mismatch means the Trunk Check job will fail before linting the changed TypeScript files; either pin Trunk to the same package-supported ESLint 9 setup and install/resolve the SDK deps, or keep ESLint out of Trunk for this repo slice.

Useful? React with 👍 / 👎.

- golangci-lint@2.6.1
- mypy@2.1.0
- prettier@3.6.2
- ruff@0.16.2
- rustfmt@1.88.0
- shellcheck@0.10.0
- taplo@0.10.0
- yamllint@1.37.1

# GitHub workflow files are covered by actionlint (syntax + shellcheck).
# prettier's YAML printer re-indents `on:`-keyed workflow files with a
# nonstandard style, and yamllint's 80-column default flags long action
# refs; neither reflects this repo's intent, so scope both off workflows.
ignore:
- linters: [prettier, yamllint]
paths:
- .github/workflows/**

# Git hooks: run `trunk check` before `git push`.
actions:
enabled:
- trunk-check-pre-push
Loading