Skip to main content

Module disclosure

Module disclosure 

Source
Expand description

The last step of every export: the final package read back, after every copy its target makes, and written down in exposure-report.json beside it: each file with its kind, its source, its size and its SHA-256, each file of each pack, the debug file, whatever else is beside it, and what the package was built from.

A game whose shuyi.ron has a disclosure part (Disclosure) is held to it: a file of the game or of a pack that the part doesn’t allow, a path it forbids, a canary of it anywhere (as UTF-8 or UTF-16, in what a pack unpacks to as well), or a file beside the package that this export didn’t make refuses the export. A refused export leaves the report and no package, and the web build’s folder emptied.

The report names a canary by its place in the part, never by its text, so it can be read by people who shouldn’t read the canaries.

It finds what is written plainly. Bytes a game compresses or encrypts itself, what a compiler makes of a rule, and a pdc image or sound aren’t searched (a Playdate’s program is, in the ELF pdc packs it from). A package that passes holds no declared text, not “nothing unreleased”.

Structs§

BuildInputs
What the package was built from.
ExposedEntry
A file of a pack.
ExposedFile
A file of the export.
ExposureReport
exposure-report.json.
Finding
One thing that refuses the export.
Shipped
What an export wrote and where, as its exporter says: the rest of a package’s files are the inspector’s to find.

Enums§

FileKind
What a file is to the package.
FindingKind
What a finding is.

Constants§

MAX_CANARY
The longest canary, in bytes.
MAX_FILE_BYTES
The biggest file read, 2 GiB: a bigger one refuses the export, since it can’t be said to hold nothing.
MIN_CANARY
The shortest canary, in bytes: a shorter one is found by chance in any program.
REPORT
The report’s file, beside the package.

Functions§

gate
Writes the report of what shipped holds, and refuses the export with what part finds there: on a refusal, or a package that can’t be read, no package is left. The error is the problem code and the message.
problems
What the part says that shuyi.ron’s reader can’t: each line that can’t match anything, or can’t be meant.