Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

lesshint

Package Overview
Dependencies
Maintainers
2
Versions
91
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lesshint

A tool to aid you in writing clean and consistent Less.

  • 1.0.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
7.3K
increased by8.84%
Maintainers
2
Weekly downloads
 
Created
Source

lesshint

Build Status Build status Coverage Status Dependency Status devDependency Status

lesshint is a tool to aid you in writing clean and consistent Less.

Requirements

Node.js 0.10 (or later) or io.js 1.0 (or later).

Installation

Run the following command from the command line (add -g to install globally):

npm install lesshint

Configuration

lesshint is customizable and we highly recommend you to look at the available options to tailor it to your needs.

Start by creating a .lesshintrc file in your project root and add your settings to it. It will be automatically loaded and merged with the default values.

Each option is then specifed by it's own JSON object, for example:

"fileExtensions": [".less", ".css"],

"excludedFiles": ["vendor.less"],

"spaceAfterPropertyColon": {
    "enabled": true,
    "style": "one_space" // Comments are allowed
}

Options

fileExtensions

Array of file extensions to check. Either an array of extensions or "*" to allow all files. For example:

"fileExtensions": [".less", ".css"] // Allow ".less" and ".css" files. Can be passed with or without a dot.

"fileExtensions": "*" // Allow all files
excludedFiles

Array of minimatch glob patterns or a file to exclude. For example:

"excludedFiles": ["vendor/*.less"] // Ignore all files in "vendor/"

"excludedFiles": ["vendor.less"] // Ignore a file named "vendor.less"

CLI usage

Run lesshint from the command-line by passing one or more files/directories to recursively scan.

lesshint src/less/ lib/style.less
Available FlagsDescription
-c/--configSpecify the configuration file to use (will be merged with defaults).
-e/--excludeA minimatch glob pattern or a file to exclude form being linted.
-r/--reporterThe reporter to use. See "Reporters" below for possible values.
-V/--versionShow version.

Reporters

As of 0.8.0 the ability to specify custom reporters has been added. These can do anything from just printing something to the terminal to generate custom reports.

There are three ways to load a reporter.

  1. Pass the name of a core reporter. See below for a complete listing.
  2. Pass the name of a Node module. If lesshint is installed globally only globally installed reporters are available (the normal Node module loading rules apply).
  3. Pass a absolute or relative path to a custom reporter anywhere on the disk. Relative paths will be resolved against process.cwd().

Core reporters

  • stylish - Colored print of all errors to the console.

Writing your own reporter

In it's simplest form, a reporter is just a function accepting some input. The most basic reporter possible:

module.exports = function (errors) {
    console.log(errors.length ? 'Errors found' : 'No errors');
};

The reporter will be passed an array objects representing each error:

{
    column: 5,
    file: 'test.less',
    line: 1,
    linter: 'spaceBeforeBrace',
    message: 'Opening curly brace should be preceded by one space.',
    severity: 'warning',
    source: '.foo{'
}

It's then up to the reporter to do something with the errors. No returns or anything is needed. lesshint will handle everything like exit codes etc.

Take a look at the default reporter for more information.

Known issues

We are aware of some instances where some Less features won't be properly parsed. In those cases the whole file will simply be ignored by lesshint.

  • Using variables in @media directives are not supported. Related issue.
  • Using variables in selectors are not supported. Related issue.
  • Using double parentheses around calculations etc. are not supported. Related issue.

Keywords

FAQs

Package last updated on 19 Oct 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc