JavaScript代码质量工具 - 用于Node.js。
JSLint
JavaScript代码质量工具 - 用于Node.js。(The JavaScript Code Quality Tool — for Node.js. )
Github星跟蹤圖
主要指標
- 概覽
-
名稱與所有者 reid/node-jslint 主編程語言 JavaScript 編程語言 Makefile (語言數: 2) 平台 許可證 Other - 所有者活动
-
創建於 2010-01-07 07:21:15 推送於 2022-07-11 01:59:39 最后一次提交 2020-09-10 21:56:04 發布數 63 最新版本名稱 v0.12.1 (發布於 ) 第一版名稱 0.1.0 (發布於 ) - 用户参与
-
星數 489 關注者數 16 派生數 101 提交數 412 已啟用問題? 問題數 102 打開的問題數 16 拉請求數 48 打開的拉請求數 3 關閉的拉請求數 31 - 项目设置
-
已啟用Wiki? 已存檔? 是復刻? 已鎖定? 是鏡像? 是私有?
node-jslint
Easily use JSLint from the command line.
jslint bin/jslint.js
What's New
Added latest jslint, 2018-01-27.
Version 0.12.0 contains the latest jslint-es6
See CHANGELOG.md for detailed change history
Use the command-line client
Install (both local and global are supported)
npm i jslint
Use the default jslint
jslint lib/color.js
Always use the latest jslint
jslint --edition=latest lib/color.js
Use a specific edition
For example, edition 2013-02-03 which shipped with node-jslint 0.1.9:
jslint --edition=2013-02-03 lib/color.js
Use node-jslint programmatically
Streams interface
As of node-jslint 0.4.0, a streams interface is exposed. You can use it in client code like this:
Install as a dependency:
$ npm install --save jslint
Pull it into your code with require:
var LintStream = require('jslint').LintStream;
Create and configure the stream linter:
var options = {
"edition": "latest",
"length": 100
},
l = new LintStream(options);
Send files to the linter:
var fileName, fileContents;
l.write({file: fileName, body: fileContents});
Receive lint from the linter:
l.on('data', function (chunk, encoding, callback) {
// chunk is an object
// chunk.file is whatever you supplied to write (see above)
assert.deepEqual(chunk.file, fileName);
// chunk.linted is an object holding the result from running JSLint
// chunk.linted.ok is the boolean return code from JSLINT()
// chunk.linted.errors is the array of errors, etc.
// see JSLINT for the complete contents of the object
callback();
});
You can only pass options to the LintStream when creating it. The edition
option can be
used to select different editions of JSLint.
The LintStream is in object mode (objectMode: true). It expects an
object with two properties: file
and body
. The file
property
can be used to pass metadata along with the file. The body
property
contains the file to be linted; it can be either a string or a Buffer.
The LintStream emits 'data'
events containing an object with two properties.
The file
property is copied from the file
property that is passed in. The
linted
property contains the results of running JSLINT.
Simple interface
The simple interface provides an edition-aware loader. This can be used as a frontend to
node-jslint's collection of editions of the JSLINT code.
var node_jslint = require('jslint'),
JSLINT = node_jslint.load(edition);
This exposes the same loading interface used in node-jslint, so it supports the special
edition names default
and latest
as well as date-based edition names such as 2013-08-26
As of version 0.5.0, the load
function also accepts filenames. To be recognized as a filename,
the argument to load must contain a path-separator character (/
or \
) or end with the extension
.js
.
Usage examples
Multiple files
jslint lib/color.js lib/reporter.js
All JSLint options supported
jslint --white --vars --regexp lib/color.js
Defaults to true, but you can specify false
jslint --bitwise false lib/color.js
Pass arrays
jslint --predef $ --predef Backbone lib/color.js
JSLint your entire project
jslint '**/*.js'
Using JSLint with a config file
Start with the included jslint.conf.example
file, name it jslint.conf
and customize your options
per project or copy it to $HOME/.jslint.conf
to apply your setting globally
License
See LICENSE file.