Недавно написал инструмент обнаружения спецификации кодаcode-lint(Рисунок из инструмента, разработанного фронтенд-боссом бывшего отдела компании), определение спецификации кода проекта может быть реализовано путем прямой установки npm и файла конфигурации.
Зачем писать такой инструмент?
Один из них заключается в том, чтобы избежать повторной настройки спецификации кода в нескольких проектах;
Во-вторых, мы надеемся сделать различные технологические штабельные проекты, используйте одинаковую конфигурацию спецификации кода;
В части спецификации документа этого инструмента я имею в виду великого бога Яна Хайцзина.«В 8102 Как написать современную библиотеку JavaScript»
GitHub.com/прожорливый пир/code-come…
Давайте посмотрим, на что похож этот инструмент обнаружения спецификаций кода.
характеристика
- Обнаружение спецификации кода js на основе eslint
- Обнаружение спецификации кода CSS на основе stylelint
- Более удобное определение спецификации для кода scss на основе stylelint-scss
- Файл обнаружения ориентации
- localdiff обнаруживает файлы (на основе git)
представлять
В настоящее время Code-Lint реализует только обнаружение спецификации кода JS и CSS.Обнаружение спецификации кода JS — это ESLINT, а обнаружение спецификации кода CSS основано на Stylelint, поскольку подключаемый модуль Stylelint-SCSS настроен, обнаружение спецификации кода SCSS будет будь более дружелюбным.
Обнаружение кода js включает только файлы с суффиксами .html, .vue, .js, а обнаружение кода css включает только файлы с суффиксами .html, .vue, .css, .scss, меньше.
В настоящее время инструмент включает в себяОбнаружение ориентации,обнаружение локальных различийтак же какглобальное исправлениеФункция.定向检测仅检测配置文件中所指定的文件;而 localdiff 检测则是检测当前 git 仓库中发生过修改的文件,该功能是基于 git 的。
руководство пользователя
Скачать и установить через npm
npm install code-lint --save-dev
Обнаружение ориентации
Обнаружение файлов, настроенных в файле конфигурации
"scripts": {
"lint": "code-lint"
}
{
"lintTargetFiles": [
"**/*.html",
"**/*.vue",
"**/*.js",
"**/*.css",
"**/*.scss",
"**/*.less"
]
}
lintTargetFiles использует синтаксис glob для обнаружения целевых файлов.
- Запустите команду обнаружения, чтобы обнаружить или
npm run lint
обнаружение локальных различий
Обнаруживать только локальные файлы различий (включая неотслеживаемые файлы). обнаружение diff не позволяет использовать профиль lint.config.json.
- Добавьте команду обнаружения в файл package.json в корневом каталоге.
"scripts": {
"lint-localdiff": "code-lint --localdiff"
}
- Запустите команду обнаружения, чтобы обнаружить или исправить
npm run lint-localdiff
Правила обнаружения
js наследование правила обнаруженияeslint-config-standardПравила в , и правила обнаружения можно добавить в соответствии с параметром eslint.rules в конфигурационном файле.
Правила обнаружения CSS унаследованоstylelint-config-standardВы можете добавить правила обнаружения в соответствии с параметром stylelint.rules в файле конфигурации.
распределение по умолчанию
В файле конфигурации lint.config.json, в дополнение к параметру lintTargetFiles, вы также можете настроить другие параметры, чтобы принять решение об обнаружении только js или css и добавить свои собственные правила обнаружения.Конфигурация по умолчанию выглядит следующим образом.
module.exports = {
"lintTargetFiles": [], // 检测目标文件(可选)
"lintType": { // 检测类型(可选)
"js": true,
"css": true
},
"eslint": { // eslint 配置规则(可选)
"globals": { // 同 eslint globals 字段
'$': false,
'jQuery': false
},
"rules": {} // 同 eslint rules 字段
},
"stylelint": { // stylelint 配置规则(可选)
"rules": {} // 同 stylelint rules 字段
}
}