All Projects → modernizing → lemonj

modernizing / lemonj

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

Programming Languages

typescript
32286 projects
ANTLR
299 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to lemonj

Lemonj
一个面向 CSS/LESS/SCSS 的分析、坏味道检查和自动化重构工具。
Stars: ✭ 112 (-18.84%)
Mutual labels:  refactoring, less
tzientist
Scientist-like library for Node.js in TypeScript
Stars: ✭ 37 (-73.19%)
Mutual labels:  refactoring
smuggler
🚣 Smuggle all imports
Stars: ✭ 72 (-47.83%)
Mutual labels:  refactoring
mailspring-matcha-theme
Matcha theme for Mailspring
Stars: ✭ 32 (-76.81%)
Mutual labels:  less
Refactoring-Chapter-1
Worked example from Fowler's Chapter 1
Stars: ✭ 34 (-75.36%)
Mutual labels:  refactoring
eadmin
eadmin - 极致用户体验与极简开发并存的开箱即用的后台UI框架
Stars: ✭ 258 (+86.96%)
Mutual labels:  less
styless
Style your components declaratively with familiar less syntax
Stars: ✭ 64 (-53.62%)
Mutual labels:  less
awesome-quickapp
🛠 A curated list of awesome quickapp tutorials, articles, projects and resources.
Stars: ✭ 41 (-70.29%)
Mutual labels:  less
Fomantic-UI-LESS
LESS only distribution of Fomantic UI
Stars: ✭ 16 (-88.41%)
Mutual labels:  less
gopatch
Refactoring and code transformation tool for Go.
Stars: ✭ 466 (+237.68%)
Mutual labels:  refactoring
refactoring-golf
A Refactoring Golf exercise
Stars: ✭ 40 (-71.01%)
Mutual labels:  refactoring
react-native-less-transformer
Use Less to style your React Native apps.
Stars: ✭ 26 (-81.16%)
Mutual labels:  less
DDDToolbox
A set of Roslyn refactorings supporting DDD design
Stars: ✭ 31 (-77.54%)
Mutual labels:  refactoring
vue-antd-admin
基于vue3.0 + vue-cli4.0 + vue-router4.x + vuex4.x + ant-design-vue2.x开发的后台管理系统模板,包含权限路由、权限按钮、流程配置、个人中心等基础功能
Stars: ✭ 57 (-58.7%)
Mutual labels:  less
dva-typescript-antd-starter-kit
A admin dashboard application demo based on antd by typescript and dva
Stars: ✭ 61 (-55.8%)
Mutual labels:  less
React-Whole-barrels
webapck + react + react-router +dva + es6 + less + antd 实现的脚手架 👌👌
Stars: ✭ 23 (-83.33%)
Mutual labels:  less
vue-tsx-admin
基于typscript+jsx+vue+ant-design-vue+ant-design-pro的中后台模板
Stars: ✭ 53 (-61.59%)
Mutual labels:  less
manage-demo
后台管理系统模版
Stars: ✭ 19 (-86.23%)
Mutual labels:  less
webpack-typescript-react
Webpack 5 boilerplate with support of most common loaders and modules (see tags and description)
Stars: ✭ 185 (+34.06%)
Mutual labels:  less
aspy.refactor imports
Utilities for refactoring imports in python-like syntax.
Stars: ✭ 14 (-89.86%)
Mutual labels:  refactoring

🍋 lemonj

CSS/LESS/SCSS 自动重构、坏味道检查工具。

💡 Features:

  • 重构
    • CSS 颜色自动抽离重构变量
  • 坏味道
    • 字体
    • 奇数宽度
    • importants
    • position: absolute
    • mediaQueries

📦 Install

npm install lemonj -g

或者

yarn global add lemonj

🌰 Demo

CSS 颜色自动抽离变量

我们要重构 \_fixtures 文件夹下 less 样式文件:

  1. 分析文件
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;
  1. 运行重构命令:
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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].