Security News
npm Updates Search Experience with New Objective Sorting Options
npm has a revamped search experience with new, more transparent sorting options—Relevance, Downloads, Dependents, and Publish Date.
lesshint
is a tool to aid you in writing clean and consistent Less.
Node.js 0.10 (or later) or io.js 1.0 (or later).
Run the following command from the command line (add -g to install globally):
npm install lesshint
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 specified by it's own JSON object, for example:
"fileExtensions": [".less", ".css"],
"excludedFiles": ["vendor.less"],
"spaceAfterPropertyColon": {
"enabled": true,
"style": "one_space" // Comments are allowed
}
Since 1.4.0
it's possible to configure rules using inline comments in your .less
files. For example:
// lesshint spaceBeforeBrace: false
.foo{ // This line won't be reported
color: red;
}
It's also possible to disable rules on a single line using a trailing comment:
.bar {
color:red; // lesshint spaceAfterPropertyColon: false
}
If you wish to enable a rule that's disabled in your .lesshintrc
you need to specify any other options too. But rules without options can be enabled by just setting it to true
. For example:
.lesshintrc
:
{
"emptyRule": false,
"spaceAfterPropertyName": false
}
file.less
// lesshint spaceAfterPropertyName: { enabled: true, style: "one_space" }, emptyRule: true
.foo {
color : red; // Won't report the extra space before ":"
}
.bar {
}
The options format is a less strict form of JSON. Keys doesn't need any quotes but string values need double quotes.
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
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"
Run lesshint
from the command-line by passing one or more files/directories to recursively scan.
lesshint src/less/ lib/style.less
Available Flags | Description |
---|---|
-c /--config | Specify the configuration file to use (will be merged with defaults). |
-e /--exclude | A minimatch glob pattern or a file to exclude form being linted. |
-r /--reporter | The reporter to use. See "Reporters" below for possible values. |
-V /--version | Show version. |
Depending on the linter results and options supplied, the exit status code returned by the CLI will differ.
Exit status code | Description |
---|---|
0 | Everything is alright, no linting errors found. |
1 | One or more linting errors with a severity of warning was found. |
2 | One or more linting errors with a severity of error was found (since 1.3.0 ). |
66 | No files to lint were supplied. |
70 | An unknown error occurred within lesshint , possibly a bug. Please file an issue! |
78 | Something is wrong with the config file, most likely invalid JSON. |
These codes were chosen with regards to the preferable exit codes.
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.
lesshint
is installed globally only globally installed reporters are available (the normal Node module loading rules apply).process.cwd()
.stylish
- Colored print of all errors to the console.In it's simplest form, a reporter is just a function accepting some input. The most basic reporter possible:
module.exports = {
report: function (errors) {
console.log(errors.length ? 'Errors found' : 'No errors');
}
};
// Old usage, deprecated as of 1.2.0:
module.exports = function (errors) {
console.log(errors.length ? 'Errors found' : 'No errors');
};
The reporter will be passed an array of objects representing each error:
{
column: 5,
file: 'file.less',
fullPath: 'path/to/file.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 return
s or anything is needed. lesshint
will handle everything like exit codes etc.
Take a look at the default reporter for more information.
1.5.0 (2016-03-24)
at_least_one_space
value for the style
option in spaceAfterPropertyColon
. (5e9fd1e)units
and exclude
options to zeroUnit
. (728f37a)decimalZero
wouldn't check all numbers. (661cc57)zeroUnit
would erroneously report properties without units. (728f37a)FAQs
A tool to aid you in writing clean and consistent Less.
The npm package lesshint receives a total of 6,176 weekly downloads. As such, lesshint popularity was classified as popular.
We found that lesshint demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
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.
Security News
npm has a revamped search experience with new, more transparent sorting options—Relevance, Downloads, Dependents, and Publish Date.
Security News
A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.