lemonj

A CSS/LESS/SCSS analysis, bad smell check and auto-refactor tools. 一个面向 CSS/LESS/SCSS 的分析、坏味道检查和自动化重构工具。

MIT License

Stars
139

lemonj

CSS/LESS/SCSS

Features:

    • CSS
    • importants
    • position: absolute
    • mediaQueries

Install

npm install lemonj -g
yarn global add lemonj

Demo

CSS

\_fixtures less

lemonj analysis _fixtures
Code Smell:  {
  colors: 24,
  importants: 4,
  issues: 8,
  mediaQueries: 1,
  absolute: 0,
  oddWidth: 1
}
  1. mappings.less
// _fixtures/less/color/border.less
@color1: #ddd;
// _fixtures/less/color/border.less
@color2: green;
// _fixtures/less/color/rgba.less
@color3: rgba(255, 0, 0, 0.3);
// _fixtures/less/color/sample.less
@color4: #ff7f50;
// _fixtures/less/color/sample.less
// _fixtures/less/color/sample2.less
@color5: #800080;
// _fixtures/less/color/sample.less
@color6: red;
// _fixtures/less/color/sample.less
// _fixtures/less/color/sample.less
@color7: #428bca;
// _fixtures/less/color/sample.less
@color8: #fff;
// _fixtures/less/color/sample2.less
@color9: #000000;
lemonj refactor _fixtures

RoadMap:

  • Color refactor
    • analysis colors
    • auto-refactor colors
  • 3+ level class nested Refactor
    • analysis 3+ level nested
    • process 3+ level nested
  • selector auto folding. .level1.level2{} to .level1{.level2}}
    • analysis need to merge selector
    • refactor selector
  • sort colors.less by colors
  • Summary
    • fontFamily
    • colors
    • importants
    • mediaQueries
    • is-odd-width
    • absolute
  • command split
    • Split color refactor as subcommand
  • migration to TypeScript
    • split ast packages
    • use esbuild

License

This code is distributed under the MPL license. See LICENSE in this directory.