{"_id":"@agents-npm-packages/turbolint","name":"@agents-npm-packages/turbolint","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@agents-npm-packages/turbolint","version":"0.1.0","description":"Ultra-fast JavaScript/TypeScript linter CLI","type":"module","license":"MIT","repository":{"type":"git","url":"git+https://gitlab.com/arjunkshah/turbolint.git"},"bin":{"turbolint":"bin/turbolint.js"},"scripts":{"build:native":"cargo build --release --locked","postinstall":"node ./scripts/install-native.mjs"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"gitHead":"e80fe6ac0890ccfb846de1468978853a3c30741e","_id":"@agents-npm-packages/turbolint@0.1.0","bugs":{"url":"https://gitlab.com/arjunkshah/turbolint/issues"},"homepage":"https://gitlab.com/arjunkshah/turbolint#readme","_nodeVersion":"22.23.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-pNaj/wI6w8nvNvS0bi9otamkVisYKIXyI5/F5mFDH+9rJnklLr/Nez80Qzt94wOekZsVm1bpl2ovuNAP8IH/fg==","shasum":"fb266a8432b752892cf413a1a16aa499c434f01b","tarball":"https://registry.npmjs.org/@agents-npm-packages/turbolint/-/turbolint-0.1.0.tgz","fileCount":8,"unpackedSize":57503,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHO54ql8rYA3AwPZBzDrfwUBfkQsS+ECYad0FAm69QMwAiBsT3Ey3gxrehg7MLQwmEqvgZep9RPTYfxCp+HNBbbSKA=="}]},"_npmUser":{"name":"agents-npm-packages","email":"arjunkshah21@gmail.com"},"directories":{},"maintainers":[{"name":"agents-npm-packages","email":"arjunkshah21@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/turbolint_0.1.0_1784178180696_0.40652187218511826"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-16T05:03:00.530Z","0.1.0":"2026-07-16T05:03:00.814Z","modified":"2026-07-16T05:03:01.049Z"},"maintainers":[{"name":"agents-npm-packages","email":"arjunkshah21@gmail.com"}],"description":"Ultra-fast JavaScript/TypeScript linter CLI","homepage":"https://gitlab.com/arjunkshah/turbolint#readme","repository":{"type":"git","url":"git+https://gitlab.com/arjunkshah/turbolint.git"},"bugs":{"url":"https://gitlab.com/arjunkshah/turbolint/issues"},"license":"MIT","readme":"# TurboLint\n\nUltra-fast JavaScript/TypeScript linter CLI implemented in Rust on top of Oxc.\n\n## Install\n\n```sh\nnpm install @agents-npm-packages/turbolint\n```\n\nThen run the published binary:\n\n```sh\nturbolint ./src\n```\n\n## Build\n\n```sh\ncargo build --release\n```\n\n## Run\n\n```sh\n./target/release/turbolint ./src\n```\n\nThe npm package ships the same command name and falls back to a local Cargo build\nif a native binary is not already present.\n\nTurboLint recursively scans `.js`, `.jsx`, `.ts`, and `.tsx` files while ignoring\n`node_modules` and `.git`. It exits with `1` when violations are found and `0`\nwhen the tree is clean.\n\n## Options\n\n- `--config PATH`: load rule toggles and extra ignore patterns from a JSON file\n- `--ignore-file PATH`: load extra ignore globs from a text file\n- `--json`: emit structured JSON output with scan stats and violations\n- `--fix`: apply safe autofixes for `no-var` by rewriting `var` to `let`\n\n## Website\n\nThe repo also ships a static marketing/docs site in [`site/`](site/index.html)\nwith dark shadcn-inspired styling, command examples, and a product overview.\nThe live hostname is `turbolint.ideatr.dev`; GitLab hosts the public source and\ndocs, while Vercel serves the live site.\n\n## Rules\n\n- `no-eval`: flags `eval(...)`\n- `no-var`: flags `var` declarations\n- `no-console-log`: flags `console.log(...)`\n\nOnly `no-var` is auto-fixable. The other rules are report-only by design.\n\n## Architecture\n\n- Streaming directory traversal: paths are pushed through a bounded channel,\n  avoiding full-tree materialization.\n- Fixed worker pool: worker count is bounded by logical CPU availability.\n- Memory-mapped file reads: source files are mapped read-only and parsed without\n  copying the entire file into a new buffer.\n- Parallel directory crawling: traversal uses the `ignore` crate's parallel walker\n  instead of a single recursive loop.\n- Per-file memory lifetime: source text, line index, Oxc allocator, AST, and\n  rule state are dropped immediately after each file is processed.\n- Bounded queues: the path and result queues provide backpressure under very\n  large repositories to keep memory usage predictable.\n- Single-pass file counting: the directory walker records scanned files while\n  streaming paths to workers.\n\n## Deployment\n\n- Public source repo: `gitlab.com/arjunkshah/turbolint`\n- Live site: `turbolint.ideatr.dev`\n- Docs: `site/docs/`\n","readmeFilename":"README.md","_rev":"1-016f29df57a8dd7e9d2ce606148e2a9e"}