{"id":26374,"library":"scsslint","title":"scsslint","description":"Legacy Node.js bindings for the Ruby-based scss-lint tool (v0.0.3). This package wraps the Ruby gem and provides a simple API to lint SCSS files programmatically from Node.js. It is part of the grunt-scsslint ecosystem and has not been updated since 2014. It requires Ruby and the scss-lint gem to be installed separately. Not to be confused with modern SCSS linters like stylelint-scss. Active development ceased; use at your own risk.","status":"abandoned","version":"0.0.3","language":"javascript","source_language":"en","source_url":"https://github.com/FWeinb/scsslint","tags":["javascript","gruntplugin"],"install":[{"cmd":"npm install scsslint","lang":"bash","label":"npm"},{"cmd":"yarn add scsslint","lang":"bash","label":"yarn"},{"cmd":"pnpm add scsslint","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"ESM import will not work; this package only supports CommonJS `require`.","wrong":"import ScssLinter from 'scsslint';","symbol":"ScssLinter","correct":"const ScssLinter = require('scsslint');"},{"note":"Must use `new` keyword; calling without `new` will cause a runtime error.","wrong":"const linter = ScssLinter();","symbol":"constructor","correct":"const linter = new ScssLinter();"},{"note":"Argument order is files, options, callback — not files, callback, options.","wrong":"linter.lint(files, callback, options);","symbol":"lint method","correct":"linter.lint(files, options, callback);"}],"quickstart":{"code":"const ScssLinter = require('scsslint');\nconst linter = new ScssLinter();\n\nlinter.lint(\n  ['path/to/file.scss', 'path/to/another.scss'],\n  { colorize: true, verbose: true },\n  function(err, result) {\n    if (err) {\n      console.error('Lint error:', err);\n    } else {\n      console.log('Lint result:', result);\n    }\n  }\n);","lang":"javascript","description":"Shows how to install, require, instantiate, and call the lint method with files, options, and callback."},"warnings":[{"fix":"Install Ruby and run `gem install scss-lint` before using this package.","message":"Requires Ruby and scss-lint gem installed separately. Without them, the package will fail silently or throw a cryptic error.","severity":"breaking","affected_versions":">=0.0.0"},{"fix":"Always use `new ScssLinter()`.","message":"The package exports a constructor, not a factory. Calling `ScssLinter()` without `new` will not create a proper instance.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Migrate to stylelint and @stylelint/postcss-css-in-js or similar modern tooling.","message":"The underlying scss-lint Ruby gem is deprecated and unmaintained. Use stylelint with scss plugin instead.","severity":"deprecated","affected_versions":">=0.0.0"},{"fix":"Ensure arguments are: files (array), options (object), callback (function).","message":"The `lint` method expects files as an array of strings, options object, and a callback. Incorrect argument ordering will cause unexpected behavior.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Check for Ruby and scss-lint availability before using the package, or wrap call in try-catch.","message":"No error handling if the scss-lint gem is not installed; the callback may never be called or receive an error.","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":"Run `npm install scsslint --save` and ensure Ruby is installed.","cause":"Package not installed or npm failed to install due to missing Ruby dependencies.","error":"Cannot find module 'scsslint'"},{"fix":"Change to `new ScssLinter()`.","cause":"Called `ScssLinter()` without `new`.","error":"ScssLinter is not a constructor"},{"fix":"Install Ruby, then run `gem install scss-lint`.","cause":"Ruby gem scss-lint is not installed or not in PATH.","error":"sh: scss-lint: command not found"},{"fix":"Use CommonJS `require` and ensure the package is installed properly.","cause":"Import failed or the package didn't load correctly (e.g., due to CJS/ESM mismatch).","error":"TypeError: linter.lint is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}