lesslint

1.0.3 • Public • Published

Lesslint

lesslint npm version Coverage Status Dependency Status devDependency Status

Lesslint 是一个基于 NodeJS 以及 EDP 的一个 lint 工具,使用它可以 lint 你的 less code,目前的 lint 规则是基于 ecomfe 的Less编码规范 [1.0]

经过了一段时间的重构,终于来到这个全新的版本。在这个版本中,less 解析器切换成 postcss 以及一个 less 的解析插件。这个版本里,改变了实现方式,没有依赖 Less 本身的 parser 以及 visitor 来进行解析,因此性能较以前的版本有比较大的提升。(这是个重构版本,因此并未对功能上做扩充,下个版本会对功能上做一些扩充,尽请期待~)

具体的配置参见 config

已经实现的 lint 规则:

  • @import 检验:@import 语句引用的文件必须(MUST)写在一对引号内,.less 后缀不得(MUST NOT)省略(与引入 CSS 文件时的路径格式一致)。引号使用 ' 和 " 均可,但在同一项目内必须(MUST)统一。import

  • 颜色检验:颜色定义必须(MUST)使用 #RRGGBB 格式定义,并在可能时尽量(SHOULD)缩写为 #RGB 形式,且避免直接使用颜色名称与 rgb() 表达式。hex-color, shorthand

  • 注释检验:单行注释尽量使用 // 方式。single-comment

  • 数值检验:对于处于 (0, 1) 范围内的数值,小数点前的 0 可以(MAY)省略,同一项目中必须(MUST)保持一致。leading-zero

  • 选择器检验:当多个选择器共享一个声明块时,每个选择器声明必须(MUST)独占一行。require-newline

  • 变量检验:变量命名必须(MUST)采用 @foo-bar 形式,不得(MUST NOT)使用 @fooBar 形式。variable-name

  • 0 值检验:属性值为 0 时,必须省略可省的单位(长度单位如 px、em,不包括时间、角度等如 s、deg)。zero-unit

  • 运算:+ / - / * / / 四个运算符两侧必须(MUST)保留一个空格。+ / - 两侧的操作数必须(MUST)有相同的单位,如果其中一个是变量,另一个数值必须(MUST)书写单位。require-around-space, operate-unit

  • 属性、变量:选择器和 { 之间必须(MUST)保留一个空格。require-before-space

  • 缩进:必须(MUST)采用 4 个空格为一次缩进, 不得(MUST NOT)采用 TAB 作为缩进。block-indent

  • 属性、变量:属性名后的冒号(:)与属性值之间必须(MUST)保留一个空格,冒号前不得(MUST NOT)保留空格;定义变量时冒号(:)与变量值之间必须(MUST)保留一个空格,冒号前不得(MUST NOT)保留空格。require-after-space

安装与更新

lesslint 已发布到 npm 上,可通过如下命令安装。-g是必选项。

$ [sudo] npm install lesslint -g

升级 lesslint 请用如下命令。

$ [sudo] npm update lesslint -g

使用

lesslint 目前就一条命令,后面带 -v 参数,会显示版本信息;后面带目录或者文件名就会对目录或文件执行 lesslint。

$ lesslint -v   // 显示版本信息
$ lesslint [filePath|dirPath]   // 对 file 或 dir 执行 lesslint

TODO

  1. 覆盖更多的规则,现在还未实现的规则如下:

    disallow-mixin-name-space, vendor-prefixes-sort, extend-must-firstline

CHANGELOG

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
1.0.4485stable
1.0.37latest

Version History

VersionDownloads (Last 7 Days)Published
1.0.4485
1.0.37
1.0.20
1.0.10
1.0.00
0.2.223
0.2.10
0.2.00
0.1.200
0.1.190
0.1.180
0.1.170
0.1.160
0.1.150
0.1.140
0.1.130
0.1.120
0.1.110
0.1.100
0.1.90
0.1.8-beta.10
0.1.70
0.1.60
0.1.50
0.1.40
0.1.30
0.1.20
0.1.10
0.1.0-beta.120
0.1.0-beta.110
0.1.0-beta.100
0.1.0-beta.90
0.1.0-beta.80
0.1.0-beta.70
0.1.0-beta.60
0.1.0-beta.50
0.1.0-beta.40
0.1.0-beta.30
0.1.0-beta.20
0.0.1-beta.10
0.0.11

Package Sidebar

Install

npm i lesslint

Weekly Downloads

516

Version

1.0.3

License

none

Unpacked Size

243 kB

Total Files

51

Last publish

Collaborators

  • okaychen
  • zttonly
  • gkiwi001
  • ovilia
  • 100pah
  • ecomfe-core
  • ecomfe-admin
  • otakustay
  • leeight
  • justineo
  • gdjinbo
  • luyuan
  • errorrik
  • ksky521
  • lang
  • jinzhan
  • ielgnaw