github gildas-lormeau/single-file-cli v2.13.0
SingleFile CLI 2.13.0

3 hours ago

SingleFile CLI 2.13.0

New features

  • --load-deferred-content-min-zoom-factor bounds how far the page is zoomed out while deferred content loads. The page is zoomed out to make the site believe the whole document is on screen. That lie also shrinks every measurement the site takes at that moment, so a page sizing a block from innerHeight can record a value the reader never saw. Raise the factor to bound the effect, or set it to 1 to load deferred content without zooming out at all
  • --load-deferred-content-block-cookies and --load-deferred-content-block-storage block document.cookie, localStorage and indexedDB for the time the deferred content pass runs. Both options existed in single-file-core and had no flag here

Changes

  • The options loading lazy content are renamed from --load-deferred-images-* to --load-deferred-content-*. They never applied to images only. They also load frames, and the messages a page unmounts as you scroll. The old spellings still work and reach the same options, so existing scripts keep running unchanged
  • --load-deferred-content-dispatch-scroll-event is now on by default. Both extensions already dispatch the event. Without it a site driven by a scroll handler rather than by an observer loads nothing at all. The consequence is that a site appending content near the bottom of the document can now append it. The page is told it sits one viewport from the end, so a handler triggering within a longer distance than that fires, and so does any handler measuring that distance against innerHeight. A handler waiting for a scroll position never fires, because the page is moved by a transform and not by scrolling. Pass --load-deferred-content-dispatch-scroll-event false to get the previous behaviour

Fixes from single-file-core 1.6.0 and 1.6.1

  • Archives are created with no worker URI by default. The vendored zip.js bundle declared one that nothing serves
  • The deferred content pass no longer takes a native timeout option, which no host declared

Co-authored by Claude (Claude Code)

Don't miss a new single-file-cli release

NewReleases is sending notifications on new releases.