Skip to content

feat(desktop): compress packaged app with xz by default#35440

Open
bartlomieju wants to merge 1 commit into
mainfrom
feat/desktop-compress-webview-default
Open

feat(desktop): compress packaged app with xz by default#35440
bartlomieju wants to merge 1 commit into
mainfrom
feat/desktop-compress-webview-default

Conversation

@bartlomieju

@bartlomieju bartlomieju commented Jun 23, 2026

Copy link
Copy Markdown
Member

Packaging is now compressed by default. Building on the self-extracting
support that was added recently, the --compress flag accepts xz,
zstd, and none, and now defaults to xz so a bare deno desktop
ships a compressed app. xz is decompressed by the system tar
everywhere, while zstd is smaller and faster but needs the zstd tool
at runtime. Passing --compress none ships the app uncompressed. The
previous lzma alias is dropped (it normalized to xz anyway).

Added unit tests covering the new default, explicit compressor selection,
the none opt-out, and the bare --compress form.

The webview-default change that previously lived here has been split out
into #35442.

@sigmaSd

sigmaSd commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

I understand the desire to get a low size, but the compressed by default will make users have many random stuff extracted in their disk (even if they're just experimenting),
just wanted to point this downside , maybe if it was like under a deno namespace it would be less problematic like ~/.local/share/deno-desktop/$ids but I don't know if that's allowed by the xdg spec

@sigmaSd

sigmaSd commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

if you're going with this default it would be great if you at least provide an env variable for this so I don't have to pass a flag each time, compression is an explicit choice when I'm done with the app and going to distribute it to the user maybe used only in ci even

Packaging is now compressed by default. Building on the self-extracting
support that was added recently, the `--compress` flag accepts `xz`,
`zstd`, and `none`, and now defaults to `xz` so a bare `deno desktop`
ships a compressed app. `xz` is decompressed by the system `tar`
everywhere, while `zstd` is smaller and faster but needs the `zstd` tool
at runtime. Passing `--compress none` ships the app uncompressed. The
previous `lzma` alias is dropped (it normalized to `xz` anyway).

Added unit tests covering the new default, explicit compressor selection,
the `none` opt-out, and the bare `--compress` form.
@bartlomieju bartlomieju force-pushed the feat/desktop-compress-webview-default branch from 7b5bc7d to f7c0db6 Compare June 23, 2026 10:29
@bartlomieju bartlomieju changed the title feat(desktop): default backend to webview, compress to xz feat(desktop): compress packaged app with xz by default Jun 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants