UPack Documentation

Universal Packages

  • Last Modified: 2019-09-16

There's not much to a universal package file; at a minimum it:

  • is a ZIP archive format with a .upack file extension
  • has a manifest file at the root named upack.json with a few required field

Files within the /package directory are refereed to as /content/ (and will be "unpackaged" by the client or server), and all other files are /metacontent/.

You can add any number of files or directories outside of these minimal requirements - and in fact, that's exactly what universal packages are designed for.

In the extremely unlikely event that a future version of this specification will require or uses additional files (we can think of absolutely no reason this would ever be required), then these will be opt-in and specified using the manifest, or potentially use a .upack2 extension.

Package Metacontent & Guidance

Files and directories stored outside of the ZIP archive's /package directory are referred to as metacontent, and the upack.json manifest file is the only required metacontent in a package.

Unlike actual content, there is no "general purpose" usecase for metacontent. Instead, think of it as a tool to help you build a specification for a package format that is based on a universal package. For example, romp packages define several metacontent files and folders that are used to help install the /package contents.

More on this topic:

Is this documentation incorrect or incomplete? Help us by contributing!

This documentation is licensed under CC-BY-SA-4.0 and stored in GitHub.

Generated from commit 7dbbedf1 on master