Files
progcode/web/public/assets/editorial/2019/es-modules-diagnostic-identity-2019.svg
T
huncode 238c1f7688
Build and deploy / deploy (push) Successful in 13s
revise February to May 2019 articles
2026-07-31 10:32:34 +03:00

64 lines
4.2 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" width="720" height="1080" viewBox="0 0 720 1080" role="img" aria-labelledby="title desc">
<title id="title">Диагностика идентичности ES-модулей по URL</title>
<desc id="desc">Верхняя панель показывает два import одного URL init.js и одну module identity. Нижняя панель показывает init.js и init.js с query как две разные identity. Внизу указан порядок проверки.</desc>
<defs>
<linearGradient id="background" x1="0" y1="0" x2="1" y2="1">
<stop offset="0" stop-color="#241536"/>
<stop offset="1" stop-color="#081221"/>
</linearGradient>
<marker id="arrowMint" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto">
<path d="M0 0 L10 5 L0 10 z" fill="#4cdbbd"/>
</marker>
<marker id="arrowRose" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="8" markerHeight="8" orient="auto">
<path d="M0 0 L10 5 L0 10 z" fill="#ff87b3"/>
</marker>
<style>
.kicker { font: 700 16px Arial, sans-serif; letter-spacing: 2px; fill: #ff9cc1; }
.heading { font: 700 35px Arial, sans-serif; fill: #fff5fa; }
.section { font: 700 26px Arial, sans-serif; fill: #fdf5ff; }
.code { font: 19px Menlo, Consolas, monospace; fill: #dceaff; }
.small { font: 20px Arial, sans-serif; fill: #e1d9ed; }
.good { font: 700 20px Arial, sans-serif; fill: #082019; }
.warn { font: 700 20px Arial, sans-serif; fill: #30101d; }
</style>
</defs>
<rect width="720" height="1080" fill="url(#background)"/>
<text x="44" y="58" class="kicker">FIELD DIAGNOSTIC · MODULE IDENTITY</text>
<text x="44" y="106" class="heading">Сравниваем URL, а не считаем теги</text>
<rect x="44" y="148" width="632" height="326" rx="22" fill="#173f45" stroke="#69e0c5" stroke-width="2"/>
<text x="76" y="194" class="section">Один разрешённый URL</text>
<rect x="76" y="226" width="222" height="66" rx="12" fill="#244a56"/>
<text x="98" y="267" class="code">catalog/main.js</text>
<rect x="76" y="316" width="222" height="66" rx="12" fill="#244a56"/>
<text x="98" y="357" class="code">admin/main.js</text>
<path d="M298 259 H410" stroke="#4cdbbd" stroke-width="5" marker-end="url(#arrowMint)"/>
<path d="M298 349 H410" stroke="#4cdbbd" stroke-width="5" marker-end="url(#arrowMint)"/>
<rect x="426" y="262" width="214" height="98" rx="14" fill="#1a6558" stroke="#69e0c5" stroke-width="2"/>
<text x="450" y="301" class="code">/assets/init.js</text>
<text x="450" y="333" class="small">одна identity</text>
<rect x="192" y="404" width="336" height="46" rx="23" fill="#76e4c9"/>
<text x="286" y="434" class="good">URL = 1</text>
<rect x="44" y="516" width="632" height="350" rx="22" fill="#4d2c42" stroke="#ff9cc1" stroke-width="2"/>
<text x="76" y="562" class="section">Разные разрешённые URL</text>
<rect x="76" y="594" width="222" height="66" rx="12" fill="#59334a"/>
<text x="98" y="635" class="code">catalog/main.js</text>
<path d="M298 627 H410" stroke="#ff87b3" stroke-width="5" marker-end="url(#arrowRose)"/>
<rect x="426" y="584" width="214" height="86" rx="14" fill="#743653" stroke="#ff9cc1" stroke-width="2"/>
<text x="450" y="635" class="code">/assets/init.js</text>
<rect x="76" y="704" width="222" height="66" rx="12" fill="#59334a"/>
<text x="98" y="745" class="code">admin/main.js</text>
<path d="M298 737 H410" stroke="#ff87b3" stroke-width="5" marker-end="url(#arrowRose)"/>
<rect x="426" y="694" width="214" height="86" rx="14" fill="#743653" stroke="#ff9cc1" stroke-width="2"/>
<text x="446" y="745" class="code">/assets/init.js?demo=2</text>
<rect x="192" y="802" width="336" height="46" rx="23" fill="#ff9abf"/>
<text x="286" y="832" class="warn">URL = 2</text>
<rect x="44" y="910" width="632" height="122" rx="18" fill="#131d32" stroke="#5f6f97" stroke-width="2"/>
<text x="76" y="948" class="small">Проверка: import.meta.url → Initiator</text>
<text x="76" y="978" class="small">→ status / MIME → entry-владелец</text>
<text x="76" y="1008" class="small">→ один bootstrap</text>
</svg>