Files
progcode/editorial/reviews/2019-01-field-draft.md
T
huncode e8afc8454a
Build and deploy / deploy (push) Successful in 11s
complete January 2019 webpack series
2026-07-31 10:12:35 +03:00

8.3 KiB
Raw Blame History

О-01 · 2019-01 · jQuery + Webpack: legacy-плагин в production

Статус: принят в публикационный слой 31 июля 2026 года. Ревизия накладывается registry только по стабильному slug; дата и автор остаются в базовом архиве.

Граница материала

  • Единственный slug: editorial-2019-01-field-jquery-webpack.
  • Голос: М2, 2019 год. У автора уже есть опыт PHP/Bitrix и первые заметки о сборке; здесь он расширяет его до границы модулей, global-объекта и production-артефакта.
  • Главный вопрос: как отличить отсутствие window.jQuery, неправильный порядок исполнения legacy-плагина и второй экземпляр jquery.
  • Артефакт: учебный ESM/webpack-сценарий плюс отдельная команда, которую следует запускать только в реальном проекте для получения stats.json и проверки сетевых чанков.
  • Не заявляются: результат настоящей production-сборки, browser trace, состав зависимостей или поведение конкретного legacy-плагина вне учебного файла.

Pass 1 — факты и техника

  • Проверена причинная модель: jQuery.fn.extend() расширяет прототип конкретного объекта jQuery; поэтому сравнение window.jQuery === $ отличает один объект от двух.
  • Сверены первичные источники Webpack 4: shimming/ProvidePlugin, code splitting, stats data и devtool; сверена первичная документация jQuery по jQuery.fn.extend().
  • В тексте не приписывается ProvidePlugin автоматическая запись в window. Для плагина, который явно читает window.jQuery, указан отдельный bridge.
  • Уточнён порядок: статический import './vendor/legacy-mask' не является строковым вызовом после присваивания ниже; в учебном bridge require() расположен после window.jQuery = $ именно ради наблюдаемого порядка.
  • В команде production-диагностики явно сказано, что она не запускалась для этого черновика. Source map ограничен политикой публикации исходников.
  • Вердикт: соответствует. Локальный аудит подтвердил единственную ревизию и ссылку на asset.

Pass 2 — редактура и голос

  • Симптом и цена ошибки стоят в первых двух предложениях: отсутствует метод в $.fn, риск — неработающая форма в релизе и импульсивная правка сборки.
  • Текст держит один маршрут «симптом → причина → проверка → действие»: фиксируем идентичность объектов, строим bridge, затем ищем resolved-пути в production-статистике.
  • Удалены общие оценки и ложная уверенность. Короткие фразы привязаны к объекту, команде, условию или наблюдаемому результату.
  • В словаре М2 используются entry, chunk, source map, resolved-путь, runtime; каждый термин появляется рядом с артефактом проверки, а не как декорация.
  • Один учебный ESM-пример отделён от реального репозитория. В конце есть проверяемый критерий: плагин находится на том же $.fn, который использует экран.
  • Вердикт: соответствует голосу 2019 года; нет зрелых рамок 2025–2027 и выдуманных метрик.

Pass 3 — визуал и выпуск

  • SVG jquery-webpack-production-bridge-2019.svg показывает оба порядка: ошибочный статический импорт и bridge; отдельный нижний блок показывает проверку второго экземпляра.
  • Alt описывает не оформление, а причинную модель. Подпись возвращает читателя к проверке «порядок → идентичность».
  • Таблица имеет thead и scope="col"; она пригодна для узкого экрана через существующий контейнер table-scroll.
  • В статье есть пять воспроизводимых блоков кода, нумерованная последовательность проверки, ограничения и пять первичных источников.
  • Перед выпуском выполнены: синтаксис Node, JSON-only CLI, import-safe проверка через draft gate, XML-проверка SVG и ручной просмотр SVG. Production-сборка сайта не входит в этот автономный черновик и не заявляется.
  • Рендер сначала выявил обрезание длинного заголовка в горизонтальной версии схемы. SVG перестроен в вертикальную композицию; повторный рендер на ширине 343 px показывает весь заголовок и все три диагностических блока без обрезания.
  • Вердикт: выпускной проход завершён для автономного черновика. Интеграционное ревью понадобится только перед изменением архива.

Фактические проверки

Проверка Команда или метод Результат
Node syntax node --check scripts/upgrade-2019-01-field.mjs из web/ успешно
JSON-only CLI node scripts/upgrade-2019-01-field.mjs --print-revisions успешно внутри draft gate: stdout парсится как JSON, stderr пустой, import возвращает те же данные
Import-safe и content gate npm run audit:draft -- scripts/upgrade-2019-01-field.mjs --expected-count=1 из web/ PASS editorial-2019-01-field-jquery-webpack: 10910 body chars
XML xmllint --noout public/assets/editorial/2019/jquery-webpack-production-bridge-2019.svg из web/ успешно
Визуал SVG отрендерен через Sharp в 720×1460 и 343×696; выполнен ручной просмотр успешно после перевода схемы в вертикальный формат

Основной прозаический текст без кода, таблицы, рисунка и источников — 8 488 знаков. Метрика draft gate, которая считает основной HTML-контент без источников, — 10 910 знаков.

Выпусковой вердикт

После интеграции основной редактор повторно прогнал строгий аудит: ревизия прошла объём 10 910 знаков, figure, таблицу, пять примеров кода, маршрут действий и источники. npm run build завершился с кодом 0 и сгенерировал 374 статические страницы.

Ревизия принята к публикации. articles.json не менялся: registry подменяет только редакционные поля по стабильному slug.