check-files

Check list of files against some rules

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
check-files
0.0.210 years ago10 years agoMinified + gzip package size for check-files in KB

Readme

Check Files
Скрипт для проверки файлов из списка по определенным правилам. Принимает 2 параметра: file и env. file - это путь до json'а со списком файлов, env - любая строка. $ check-files --file list.json --env production
Cписок файлов в json'е должен быть формата "<имя-файла>":[<опции>],.

Опции

Простейший набор опций - это true или пустой объект ({}). Файлы с таким набором будут проверены по дефолтным правилам. Кроме true можно указать объект с полями:
{
    "env":строка, /* файл будет молчаливо пропущен, если переданный аргумент командной строки env не совпадает с этой строкой */
    "lessThan":число|"parent", /* максимальный размер в байтах */
    "biggerThan":число|"parent", /* минимальный размер в байтах */
    "maxAge":число, /* максимальный интервал с момента модификации файла в секундах */
    "maxNewLines":число, /* максимальное количество переносов строк */
    "blacklist":строка, /* регулярное выражение, которое не должно соответствовать (match) содержимому файла */
    "skip":true /* этот набор правил будет пропущен */
}
Если указано parent - это значит, что нужно взять размер родителя. Допускается указывать массив с несколькими наборами правил для разных env. При этом правила, указанные без env будут применены в любом случае. Пример:
"file1.css": [
    {
        "env": "production",
        "maxNewLines": 1"
    },
    {
        "env":"testing"
    },
    false /* если env не dev и не production - файл будет пропущен
]

Дефолтные правила

В проверяльщике зашито такое поведение:
  • Минимизированные (начинающиеся с ) css файлы должны иметь не более 50 переносов строк и не должны содержать import'ы других css файлов
  • Минимизированные (начинающиеся с ) js файлы должны иметь не более 50 переносов строк и не должны содержать include'ы других js файлов
  • Не минимизированные css файлы должны размер более 10 байт

Пример списка

{
    "./smth.css":true,
    "./_smth.css":{"env":"production",maxNewLines":false},
    "./ftw.js":{"biggerThan":10000},
    "./_ftw.js":{"env":"production","lessThan":"parent"},
    "./no-bats-cats-or-rats.txt":{"blacklist":"(b|c|r)at"}
}