turbolint-cli
v0.1.15
Published
TurboLint is a fast Rust CLI for JavaScript and TypeScript linting.
Maintainers
Readme
TurboLint
TurboLint is a fast Rust CLI for JavaScript and TypeScript linting.
Install
npm install turbolint-cliThen run the published binary:
turbolint ./srcWhat it does
- Recursively scans
.js,.jsx,.ts, and.tsxfiles - Ignores
node_modulesand.git - Flags
eval(),var, andconsole.log() - Exits
1when violations are found,0when the tree is clean
Build the native binary
cargo build --releaseRun locally
./target/release/turbolint ./srcThe npm package ships the same command name and falls back to a local Cargo build if a native binary is not already present.
Need a fast second opinion?
Buy a $1 TurboLint Express Audit for one JavaScript or TypeScript file. You receive the findings with line, column, rule, and one concrete fix recommendation. Start the audit in Stripe.
Flags
--config PATH: load rule toggles and extra ignore patterns from a JSON file--ignore-file PATH: load extra ignore globs from a text file--json: emit structured JSON output with scan stats and violations--fix: apply safe autofixes forno-varby rewritingvartolet
GitHub Action
Docs: https://turbolint.ideatr.dev/github-action/
name: TurboLint
on: [push, pull_request]
jobs:
turbolint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: arjunkshah/[email protected]
with:
path: ./srcWebsite
The repo also ships a lightweight public site in site/.
The live hostname is turbolint.ideatr.dev; GitLab hosts the public source and
docs, while Vercel serves the live site.
Paid Microservices
TurboLint is free and open source. Paid support starts at $1 through a focused Express Audit, with additional repo review and agent services available when you need them.
Live paid surface:
- $1 Express Audit for one JS/TS file
- repo-level configuration reviews
- live NEAR Agent Market services
- direct USDC or ETH support on Base, Polygon, or Ethereum
https://buy.stripe.com/6oU6oJfFS2jqcGReovgMw01
https://turbolint.ideatr.dev/#supportAfter direct wallet payment, email the repo URL, request, sending wallet, and transaction hash from the support page.
Architecture
- Streaming directory traversal: paths are pushed through a bounded channel, avoiding full-tree materialization.
- Fixed worker pool: worker count is bounded by logical CPU availability.
- Memory-mapped file reads: source files are mapped read-only and parsed without copying the entire file into a new buffer.
- Parallel directory crawling: traversal uses the
ignorecrate's parallel walker instead of a single recursive loop. - Per-file memory lifetime: source text, line index, Oxc allocator, AST, and rule state are dropped immediately after each file is processed.
- Bounded queues: the path and result queues provide backpressure under very large repositories to keep memory usage predictable.
- Single-pass file counting: the directory walker records scanned files while streaming paths to workers.
Release
Install it from npm with:
npm install turbolint-cliThat gives you the same turbolint command used by the native build.
Deployment
- Public source repo:
gitlab.com/arjunkshah/turbolint - Live site:
turbolint.ideatr.dev - Docs:
site/docs/
