46 lines
4.8 KiB
XML
46 lines
4.8 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 1160" role="img" aria-labelledby="title desc">
|
|
<title id="title">Граница lockfile и остальных входов сборки</title>
|
|
<desc id="desc">Вертикальная схема показывает, что commit и lockfile фиксируются в репозитории, а runtime и config нужно назвать отдельно до вычисления manifest и диагностики расхождения.</desc>
|
|
<defs>
|
|
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
|
|
<path d="M0 0L10 5L0 10z" fill="#60758d"/>
|
|
</marker>
|
|
<marker id="bad-arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="8" markerHeight="8" orient="auto-start-reverse">
|
|
<path d="M0 0L10 5L0 10z" fill="#c54646"/>
|
|
</marker>
|
|
</defs>
|
|
<rect width="720" height="1160" fill="#f8fafc"/>
|
|
<rect x="42" y="34" width="636" height="112" rx="18" fill="#17324d"/>
|
|
<text x="360" y="80" text-anchor="middle" fill="#ffffff" font-family="Arial, sans-serif" font-size="28" font-weight="700">Lockfile не закрывает все входы</text>
|
|
<text x="360" y="116" text-anchor="middle" fill="#d8e7f3" font-family="Arial, sans-serif" font-size="21">Фиксируем репозиторий и называем внешнюю среду.</text>
|
|
|
|
<rect x="74" y="190" width="572" height="126" rx="18" fill="#e8fff3" stroke="#279665" stroke-width="3"/>
|
|
<text x="360" y="234" text-anchor="middle" fill="#145a3c" font-family="Arial, sans-serif" font-size="27" font-weight="700">Зафиксировано в репозитории</text>
|
|
<text x="360" y="272" text-anchor="middle" fill="#24684b" font-family="Arial, sans-serif" font-size="21">commit и package-lock</text>
|
|
<text x="360" y="300" text-anchor="middle" fill="#24684b" font-family="Arial, sans-serif" font-size="20">исходники и разрешённое дерево пакетов</text>
|
|
<path d="M360 316v38" stroke="#60758d" stroke-width="5" marker-end="url(#arrow)"/>
|
|
|
|
<rect x="74" y="362" width="572" height="140" rx="18" fill="#fff7ed" stroke="#dd6b20" stroke-width="3"/>
|
|
<text x="360" y="406" text-anchor="middle" fill="#7c2d12" font-family="Arial, sans-serif" font-size="27" font-weight="700">Нужно назвать отдельно</text>
|
|
<text x="360" y="444" text-anchor="middle" fill="#9a4c16" font-family="Arial, sans-serif" font-size="21">runtime, config, env и время</text>
|
|
<text x="360" y="474" text-anchor="middle" fill="#9a4c16" font-family="Arial, sans-serif" font-size="20">иначе одинаковый lockfile ничего не доказывает</text>
|
|
<path d="M360 502v38" stroke="#60758d" stroke-width="5" marker-end="url(#arrow)"/>
|
|
|
|
<rect x="74" y="548" width="572" height="126" rx="18" fill="#f3ecff" stroke="#805ad5" stroke-width="3"/>
|
|
<text x="360" y="592" text-anchor="middle" fill="#2d2360" font-family="Arial, sans-serif" font-size="27" font-weight="700">build(inputs)</text>
|
|
<text x="360" y="630" text-anchor="middle" fill="#4d3b78" font-family="Arial, sans-serif" font-size="21">webpack и plugins читают только названные входы</text>
|
|
<text x="360" y="658" text-anchor="middle" fill="#4d3b78" font-family="Arial, sans-serif" font-size="20">неназванный вход остаётся риском</text>
|
|
<path d="M360 674v38" stroke="#60758d" stroke-width="5" marker-end="url(#arrow)"/>
|
|
|
|
<rect x="74" y="720" width="572" height="118" rx="18" fill="#e9f3ff" stroke="#3182ce" stroke-width="3"/>
|
|
<text x="360" y="764" text-anchor="middle" fill="#17324d" font-family="Arial, sans-serif" font-size="27" font-weight="700">manifest SHA-256</text>
|
|
<text x="360" y="802" text-anchor="middle" fill="#425d73" font-family="Arial, sans-serif" font-size="21">сортируем путь и digest каждого файла</text>
|
|
<path d="M360 838v38" stroke="#c54646" stroke-width="5" stroke-dasharray="12 10" marker-end="url(#bad-arrow)"/>
|
|
|
|
<rect x="74" y="884" width="572" height="132" rx="18" fill="#fff0f0" stroke="#c54646" stroke-width="3"/>
|
|
<text x="360" y="930" text-anchor="middle" fill="#a12f2f" font-family="Arial, sans-serif" font-size="27" font-weight="700">Manifest различается?</text>
|
|
<text x="360" y="968" text-anchor="middle" fill="#a12f2f" font-family="Arial, sans-serif" font-size="21">сначала открыть первый differing file</text>
|
|
<text x="360" y="996" text-anchor="middle" fill="#a12f2f" font-family="Arial, sans-serif" font-size="20">не начинать расследование с очистки cache</text>
|
|
<text x="360" y="1102" text-anchor="middle" fill="#425d73" font-family="Arial, sans-serif" font-size="21">Хеш фиксирует факт, причина живёт во входах.</text>
|
|
</svg>
|