{"id":25862,"library":"lesslint","title":"lesslint","description":"A Less CSS linter for checking code quality and style consistency. Version 1.0.3 (stable, low release cadence). Integrates with Less syntax checking, offering rule-based validation. Differentiated by being one of few dedicated Less linters, though development is sparse compared to stylelint with Less plugins.","status":"maintenance","version":"1.0.3","language":"javascript","source_language":"en","source_url":"ssh://git@github.com/ecomfe/node-lesslint","tags":["javascript"],"install":[{"cmd":"npm install lesslint","lang":"bash","label":"npm"},{"cmd":"yarn add lesslint","lang":"bash","label":"yarn"},{"cmd":"pnpm add lesslint","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"parses Less code for linting","package":"less","optional":false}],"imports":[{"note":"Default ESM export; CJS not available since v1.0.0.","wrong":"const lesslint = require('lesslint')","symbol":"lesslint","correct":"import lesslint from 'lesslint'"},{"note":"Named export for class-based usage.","wrong":"import Linter from 'lesslint/Linter'","symbol":"Linter","correct":"import { Linter } from 'lesslint'"},{"note":"Named export for built-in rules configuration.","wrong":"const rules = require('lesslint').rules","symbol":"rules","correct":"import { rules } from 'lesslint'"},{"note":"Required peer dependency for Less parsing; must be ESM.","wrong":"const less = require('less')","symbol":"less","correct":"import less from 'less'"}],"quickstart":{"code":"import lesslint from 'lesslint';\nimport less from 'less';\n\nconst code = `@color: red;\\n.class { color: @color; }`;\n\nlesslint.lint(code).then(result => {\n  console.log(result.messages);\n}).catch(err => console.error(err));","lang":"typescript","description":"Lint a Less code string using lesslint. Demonstrates async linting with result messages."},"warnings":[{"fix":"Run 'npm install less' alongside lesslint.","message":"lesslint requires the 'less' package as a peer dependency; not installing it leads to runtime errors.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use import instead of require, or set type: \"module\" in package.json.","message":"lesslint is ESM-only; CommonJS require will fail with Module 'lesslint' does not provide an export named 'default'.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Access rules directly from linter instance or use custom configuration.","message":"The 'rules' export is deprecated as of 1.0.3; it may be removed in future versions.","severity":"deprecated","affected_versions":"1.0.3"},{"fix":"Update code to use async/await or promises.","message":"Version 1.0.0 removed the synchronous lint() API; all methods are now async.","severity":"breaking","affected_versions":">=1.0.0 <1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"npm install less","cause":"Missing peer dependency 'less'.","error":"Error: Cannot find module 'less'"},{"fix":"Change to import lesslint from 'lesslint'.","cause":"Using CJS require with ESM-only package.","error":"TypeError: lesslint.lint is not a function"},{"fix":"Set \"type\": \"module\" in package.json or use dynamic import().","cause":"Package is ESM but project is CJS.","error":"SyntaxError: Unexpected token '.' (when importing)"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}