Инструмент для обнаружения спецификаций кода с открытым исходным кодом

JavaScript

Недавно написал инструмент обнаружения спецификации кода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 字段
  }
}