Результат проверки проекта mdx-combine (коммит d7f9e84)
Что проверялось
- Целостность репозитория — структура, наличие всех файлов коммита ✅
- Работоспособность скриптов (
check.mjs,promote.mjs,archive.mjs) - Сам комбайн
src/mdx-combine.html— синтаксис JS, id-ссылки, frontmatter-генератор - Манифест версий — соответствие
build: 1.1.1в файле и вVERSIONS.json✅
❌ Найденные проблемы (и как они исправлены)
1.
scripts/check.mjs вообще не запускался — 4 синтаксические ошибки:- строка 24:
/authorIds:/test(s)— слэши внутри литерала regex не экранированы →SyntaxError: Invalid regular expression flags. Исправлено на.test(). - строка 38:
/description:/test(s)` — та же проблема. Исправлено. - проверка
stale-buttons:/btnDl|btnCopy/.test(s) === false— оператор приоритетнее===, сравнение никогда не давалоtrue(логическая ловушка). Переписано корректно. - После починки линтер выявил ложные срабатывания:
toc-three-statesтребовал<option value="128/256">, хотя по ТЗ этого коммита допустимыfalse/true;revoke-timingиstale-buttonsругались на уже правильный код. Все три проверки скорректированы под реальную схему комбайна.
2.
doctor.html содержал те же битые проверки (toc-three-states, authorids-list, description-forbidden, revoke-timing) — синхронизирован с check.mjs, синтаксис его <script> проверен.3.
scripts/promote.mjs падал с непонятным ENOENT, если путь TARGET (C:/astro-projects/...) не существует — файл оставался «невредимым», но без объяснения причины. Добавлена явная проверка целевой папки с понятным сообщением («поправь константу TARGET»). Логика валидации frontmatter не менялась.✅ Что в порядке
src/mdx-combine.html: JS исполняется без ошибок, все 19 вызововgetElementByIdимеют соответствующие элементы, дублей id нет, шаблонные литералы закрыты,publishedсобирается как.split('T')[0](YYYY-MM-DD),authorIdsвыводится YAML-списком черезpush(' - ' + …),descriptionне генерируется,revokeObjectURLобёрнут вsetTimeout, ссылка вставляется в DOM передclick(), бейджbuild: 1.1.1совпадает с манифестом.- Валидация доставки протестирована на тестовом .md — пост проходит проверку и переносится (тестовый файл удалён,
inbox/чист).
Leave a Comment