{"id":26133,"library":"pustovalov-ls-lint","title":"ls-lint","description":"An extremely fast file and directory name linter for JavaScript and TypeScript projects, with pre-built 64-bit binaries for Linux, macOS, and Windows. The latest stable version is v2.3.1 (released via GitHub), published as an npm package primarily to distribute platform-specific binaries. It uses a simple YAML/JSON configuration to enforce naming conventions (e.g., kebab-case, PascalCase) across your entire codebase, and can lint individual files or directories. It is designed for CI/CD integration and supports monorepos. Unlike eslint or prettier plugins, ls-lint is a standalone Go binary that runs independently of your Node.js runtime, making it fast and uncoupled from your project's build setup.","status":"active","version":"0.0.9","language":"javascript","source_language":"en","source_url":"https://github.com/loeffel-io/ls-lint","tags":["javascript","linter","filesystem linter","filename linter","typescript"],"install":[{"cmd":"npm install pustovalov-ls-lint","lang":"bash","label":"npm"},{"cmd":"yarn add pustovalov-ls-lint","lang":"bash","label":"yarn"},{"cmd":"pnpm add pustovalov-ls-lint","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"This package is a platform-specific binary distribution; it does not export a JavaScript API. The import is only valid if using an npm package that wraps the binary (but this package itself is not importable in code).","wrong":"const lsLint = require('pustovalov-ls-lint')","symbol":"default","correct":"import lsLint from 'pustovalov-ls-lint'"}],"quickstart":{"code":"// Install the binary for your platform via npm\nnpm install --save-dev pustovalov-ls-lint\n\n# Then run ls-lint from the command line (available via npx or node_modules/.bin)\nnpx ls-lint --config .ls-lint.yml --directory .\n\n# Example .ls-lint.yml configuration:\nls:\n  .dir: kebab-case\n  .js: kebab-case\n  .ts: kebab-case\n  .json: kebab-case\n  .md: kebab-case","lang":"javascript","description":"This shows how to install the platform-specific binary via npm and run a basic directory lint using an ls-lint config file."},"warnings":[{"fix":"npm uninstall pustovalov-ls-lint && npm install --save-dev @ls-lint/ls-lint","message":"The package name 'pustovalov-ls-lint' is not the official package; the official ls-lint npm package is '@ls-lint/ls-lint'. Consider switching to the official package.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Use the official ls-lint package which includes binaries for multiple architectures, or download the appropriate binary manually.","message":"This package only provides the 64-bit binary. It does not support 32-bit systems or ARM architectures (except via emulation).","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Run 'chmod +x node_modules/.bin/ls-lint' if the binary is not executable.","message":"The binary requires Go runtime? No, it's a standalone binary. But ensure your system has the necessary permissions to execute the binary.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"This package is not a JavaScript module; it only provides a binary. Remove any 'import' or 'require' statements for this package in your code.","cause":"Trying to require or import the package as a JavaScript module.","error":"Error: Cannot find module 'pustovalov-ls-lint'"},{"fix":"Use 'npx ls-lint' or run './node_modules/.bin/ls-lint' instead of calling 'ls-lint' directly.","cause":"The binary is not in PATH or not installed correctly.","error":"ls-lint: command not found"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}