perf(build): budget the runtime on what ships, not on source bytes
The runtime budgets measured raw source, which counts comments -- and the
production build minifies, so comments cost a visitor nothing. The metric
therefore rewarded deleting explanatory comments over writing smaller code,
and could not tell a real feature from a wall of prose.
They now measure the minified output, which is what is actually served:
/__wrnexus/reactive.js is its own file, minified, with an immutable year-long
cache. The reactive runtime is 69684 minified against a 80000 budget, from
175246 raw -- roughly 21kB gzipped, fetched once.
Also fixes two real bugs found while testing the showcase:
- object-valued props were serialised as a bare {...} attribute, which the
compiler read as interpolation and tried to parse as JavaScript. That
returned 500 for /components/navbar. Arrays start with [ and were never
affected, which is why only object props broke. All 108 pages now render.
- the runtime walked text nodes inside textarea, script and style, so a
JSON sample in a textarea was evaluated away.
Navbar styles move out of ui.css into the component, matching the rest of the
navigation group. No declarations changed: 4519 before and after.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -172,7 +172,7 @@ page ToggleCountDetail {
|
||||
<form class="playground-controls" data-playground-form>
|
||||
<header><div><span>Component props</span><strong>23 controls</strong></div><button type="reset"><span class="icon-[lucide--rotate-ccw] size-4" aria-hidden="true"></span>Reset</button></header>
|
||||
<div class="playground-fields"><label class="playground-field" for="playground-toggle-count-size"><span><strong>size</strong><small>string</small></span><select id="playground-toggle-count-size" name="pg_size"><option value="default" selected>default</option><option value="xs">xs</option><option value="sm">sm</option><option value="md">md</option><option value="lg">lg</option><option value="xl">xl</option><option value="icon">icon</option><option value="icon-xs">icon-xs</option><option value="icon-sm">icon-sm</option><option value="icon-lg">icon-lg</option></select></label><label class="playground-field" for="playground-toggle-count-color"><span><strong>color</strong><small>string</small></span><select id="playground-toggle-count-color" name="pg_color"><option value="primary" selected>primary</option><option value="secondary">secondary</option><option value="success">success</option><option value="warning">warning</option><option value="danger">danger</option><option value="info">info</option></select></label><label class="playground-field" for="playground-toggle-count-variant"><span><strong>variant</strong><small>string</small></span><input id="playground-toggle-count-variant" name="pg_variant" type="text" value="segmented" /></label><label class="playground-field" for="playground-toggle-count-class"><span><strong>class</strong><small>string</small></span><input id="playground-toggle-count-class" name="pg_class" type="text" value="showcase-instance showcase-instance--1" /></label><label class="playground-field" for="playground-toggle-count-name"><span><strong>name</strong><small>string</small></span><input id="playground-toggle-count-name" name="pg_name" type="text" value="billing-cycle" /></label><label class="playground-field" for="playground-toggle-count-value"><span><strong>value</strong><small>string</small></span><input id="playground-toggle-count-value" name="pg_value" type="text" value="sample-1" /></label><label class="playground-field" for="playground-toggle-count-firstValue"><span><strong>first Value</strong><small>string</small></span><input id="playground-toggle-count-firstValue" name="pg_firstValue" type="text" value="monthly" /></label><label class="playground-field" for="playground-toggle-count-firstLabel"><span><strong>first Label</strong><small>string</small></span><input id="playground-toggle-count-firstLabel" name="pg_firstLabel" type="text" value="Toggle Count" /></label><label class="playground-field" for="playground-toggle-count-secondValue"><span><strong>second Value</strong><small>string</small></span><input id="playground-toggle-count-secondValue" name="pg_secondValue" type="text" value="annual" /></label><label class="playground-field" for="playground-toggle-count-secondLabel"><span><strong>second Label</strong><small>string</small></span><input id="playground-toggle-count-secondLabel" name="pg_secondLabel" type="text" value="Toggle Count" /></label><label class="playground-field" for="playground-toggle-count-ariaLabel"><span><strong>aria Label</strong><small>string</small></span><input id="playground-toggle-count-ariaLabel" name="pg_ariaLabel" type="text" value="Toggle Count 1 example" /></label><label class="playground-field" for="playground-toggle-count-items"><span><strong>items</strong><small>unknown[]</small></span><textarea id="playground-toggle-count-items" name="pg_items" rows="5" spellcheck="false" data-playground-json>[
|
||||
{
|
||||
{
|
||||
"id": "toggle-count-0-1",
|
||||
"key": "toggle-count-0-1",
|
||||
"value": "primary",
|
||||
@@ -201,31 +201,31 @@ page ToggleCountDetail {
|
||||
"target": "_self",
|
||||
"ariaLabel": "Open primary workflow 1",
|
||||
"items": [
|
||||
{
|
||||
{
|
||||
"label": "Nested option A",
|
||||
"value": "nested-a"
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
"label": "Nested option B",
|
||||
"value": "nested-b"
|
||||
}
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
{
|
||||
"label": "Documentation",
|
||||
"href": "#documentation"
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
"label": "API reference",
|
||||
"href": "#api-reference"
|
||||
}
|
||||
}
|
||||
],
|
||||
"values": [
|
||||
"Included",
|
||||
"Standard"
|
||||
]
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
"id": "toggle-count-0-2",
|
||||
"key": "toggle-count-0-2",
|
||||
"value": "secondary",
|
||||
@@ -254,30 +254,30 @@ page ToggleCountDetail {
|
||||
"target": "_self",
|
||||
"ariaLabel": "Open primary workflow 2",
|
||||
"items": [
|
||||
{
|
||||
{
|
||||
"label": "Nested option A",
|
||||
"value": "nested-a"
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
"label": "Nested option B",
|
||||
"value": "nested-b"
|
||||
}
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
{
|
||||
{
|
||||
"label": "Documentation",
|
||||
"href": "#documentation"
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
"label": "API reference",
|
||||
"href": "#api-reference"
|
||||
}
|
||||
}
|
||||
],
|
||||
"values": [
|
||||
"Included",
|
||||
"Standard"
|
||||
]
|
||||
}
|
||||
}
|
||||
]</textarea><em data-playground-error></em></label><label class="playground-field" for="playground-toggle-count-currency"><span><strong>currency</strong><small>string</small></span><input id="playground-toggle-count-currency" name="pg_currency" type="text" value="$" /></label><label class="playground-field" for="playground-toggle-count-suffix"><span><strong>suffix</strong><small>string</small></span><input id="playground-toggle-count-suffix" name="pg_suffix" type="text" value="" /></label><label class="playground-field" for="playground-toggle-count-firstValueKey"><span><strong>first Value Key</strong><small>string</small></span><input id="playground-toggle-count-firstValueKey" name="pg_firstValueKey" type="text" value="monthly" /></label><label class="playground-field" for="playground-toggle-count-secondValueKey"><span><strong>second Value Key</strong><small>string</small></span><input id="playground-toggle-count-secondValueKey" name="pg_secondValueKey" type="text" value="annual" /></label><label class="playground-field" for="playground-toggle-count-emptyValue"><span><strong>empty Value</strong><small>string</small></span><input id="playground-toggle-count-emptyValue" name="pg_emptyValue" type="text" value="—" /></label><label class="playground-field" for="playground-toggle-count-align"><span><strong>align</strong><small>string</small></span><select id="playground-toggle-count-align" name="pg_align"><option value="start" selected>start</option><option value="end">end</option><option value="left">left</option><option value="center">center</option><option value="right">right</option><option value="stretch">stretch</option></select></label><label class="playground-toggle" for="playground-toggle-count-fullWidth"><span><strong>full Width</strong><small>boolean</small></span><input id="playground-toggle-count-fullWidth" name="pg_fullWidth" type="checkbox" value="true" data-playground-boolean /><i aria-hidden="true"></i></label><label class="playground-toggle" for="playground-toggle-count-disabled"><span><strong>disabled</strong><small>boolean</small></span><input id="playground-toggle-count-disabled" name="pg_disabled" type="checkbox" value="true" data-playground-boolean /><i aria-hidden="true"></i></label><label class="playground-toggle" for="playground-toggle-count-animate"><span><strong>animate</strong><small>boolean</small></span><input id="playground-toggle-count-animate" name="pg_animate" type="checkbox" value="true" checked data-playground-boolean /><i aria-hidden="true"></i></label><label class="playground-field" for="playground-toggle-count-animationDuration"><span><strong>animation Duration</strong><small>number</small></span><input id="playground-toggle-count-animationDuration" name="pg_animationDuration" type="number" value="450" /></label><label class="playground-field" for="playground-toggle-count-animationSteps"><span><strong>animation Steps</strong><small>number</small></span><input id="playground-toggle-count-animationSteps" name="pg_animationSteps" type="number" value="18" /></label></div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user