Running Chrome’s Lighthouse on an app and there are some recommendations that I think could be implemented:
Anvil Images
Mark the made-with-anvil.png
as loading="lazy"
Update made-with-anvil.png
to .webp
to reduce size.
Use HTTP/2
Enable HTTP/2 for resource loading
in a blank app, there are 15 requests over http/1.1
- nvgvbg.anvil.app
- …css/runner-v3.min.css
- …css/daterangepicker.min.css
- …css/font-awesome.min.css
- …lib/jquery.min.js
- …lib/jquery-migrate.min.js
- …img/logo-35.png
- …img/made-with-anvil.png
- …lib/moment.min.js
- …lib/moment-timezone-with-data-10-year-range.min.js
- …lib/daterangepicker.min.js
- …lib/skulpt.min.js
- …lib/skulpt-stdlib.js
- …js/runner2.bundle.js
- …_/manifest.json
Preconnect
Preconnect to anvil.works
<link rel="preconnect" href="https://anvil.works">
Selectable Includes
Be able to disable the inclusion of non-essential resources
- daterangepicker.min.css
- font-awesome.min.css
- runner-v3.min.css
Selectable support for legacy browsers
Give the option to not transpile Baseline features in …js/runner2.bundle.js
- runner2.bundle.js?sha=b4e7fca81fdb:2
Array.prototype.at
- runner2.bundle.js?sha=b4e7fca81fdb:2
Array.prototype.flat
- runner2.bundle.js?sha=b4e7fca81fdb:2
Array.prototype.includes
- runner2.bundle.js?sha=b4e7fca81fdb:2
Array.prototype.sort
- runner2.bundle.js?sha=b4e7fca81fdb:2
Array.prototype.unshift
- runner2.bundle.js?sha=b4e7fca81fdb:2
Object.fromEntries
- runner2.bundle.js?sha=b4e7fca81fdb:2
Object.getOwnPropertyDescriptor
- runner2.bundle.js?sha=b4e7fca81fdb:2
String.fromCodePoint
- runner2.bundle.js?sha=b4e7fca81fdb:2
String.prototype.replaceAll