8.3 KiB
8.3 KiB
О-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'не является строковым вызовом после присваивания ниже; в учебном bridgerequire()расположен после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.