@kontur.candy/sugar-validator v0.5.3
sugar-validator
Консольный инструмент для валидации файлов в формате sugar.xml.
Использование
Установка и запуск
npm install @kontur.candy/sugar-validatorили
yarn add @kontur.candy/sugar-validatorа затем
npx sugar-validator forms/110302/sugar/index.sugar.xmlили
yarn sugar-validator forms/110302/sugar/index.sugar.xmlТакже возможна глобальная установка
Аргументы командной строки
sugar-validator [options...] fileGlobsfileGlobs - один или несколько шаблонов или имём файлов, разделённых пробелом. Шаблоны поддерживают синтаксис glob.
Допустимые опции:
--reporter, -r- Формат вывода сообщений валидатора. Поддерживаеются форматыtextиteamcity.--help, -h- Выводит справку.
Правила валидаций
valid-element
Проверяет, что элемент является допустимым элементом языка.
Пример вывода:
valid-element (2, 6)
Неизвестное имя элемента: 'inputaa'valid-attribute
Проверяет, что используемый атрибут является допустимым для данного тэга.
Пример вывода:
valid-attribute (41, 116)
Элемент type не может имееть атрибута 'requireDescription'valid-attribute-type
Проверяет соответствие значения атрибута его типу. Поддерживаемые типы: (Number, Color, Boolean)
Пример вывода:
valid-attribute-type (89, 52)
Значение '#9ZZB9B' атрибута color не может быть преобразовано к допустимым типам (Color).valid-path
Для атрибутов типа Path проверяет наличие в схеме данных. Валидатор пытается найти схему по пути
..\schemas\[gfv].rng.xml относительно файла с сахаром.
Пример вывода:
valid-path (457, 37)
Элемент или атрибут '/Файл/Документ/ЕНВД/СумНалПУ/СумСВУм346.32.2_disabled' не найден в схеме данныхrequired-attribute
Проверяет наличие обязательных атрибутов у элементов сахара.
Пример вывода:
required-attribute (243, 15)
Элемент input должен содержать обязательный атрибут 'path'valid-syntax
Проверяет корректность синтаксиса в файле с сахаром.
Пример вывода:
valid-syntax (47, 8)
Expected [a-zA-Z0-9\-_] but "Н" found.valid-type
Проверяет, что в атрибутах с типом, валидный UserDefined-тип или один из встроенных типов.
Пример вывода:
valid-type (47, 8)
Type 'kpppEnvd' не существует.no-unused-types
Проверяет, что UserDefined-тип используется хотябы один раз.
Пример вывода:
valid-type (47, 8)
Тип 'C(8)' не используетсяcode-style
Проверяет, что документ отформатирован и выводит соответствующее исправление
Пример вывода:
code-style (2, 5)
Insert '··'