Skip to content

Drop node-7z and 7zip-bin by moving backups off zip #222

Description

@Pixnop

From the over-engineering audit. node-7z, 7zip-bin and @types/node-7z exist for exactly one thing now: the launcher's own backup archives. Everything else moved on. Installer payloads go through the pure TypeScript Inno extractor, game archives through node-tar, mod archives through yauzl. The 95 line hand-parse of 7z's -slt listing text in archiveValidation is an unreachable else branch.

Cutting them removes three dependencies, a bundled binary per platform, the postinstall chmod script that exists to make those binaries executable, and the asarUnpack entry that ships them. That is the single biggest cut available in the repository.

The catch, and the reason this is an issue rather than a PR: backups are user data. Writing new backups as tar.gz with the tar dependency already present is straightforward, but every backup a player already made is a zip, and restoring those has to keep working. A yauzl read path covers it, which means the zip reader stays while the zip writer goes.

Worth deciding together before anyone writes it: whether new backups switch format at all, or whether the simpler cut is to keep zip and write it with yauzl's writing counterpart. Either way the 7z process spawn and its text parsing go.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions