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§
- Build
Inputs - What the package was built from.
- Exposed
Entry - A file of a pack.
- Exposed
File - A file of the export.
- Exposure
Report 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§
- File
Kind - What a file is to the package.
- Finding
Kind - 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
shippedholds, and refuses the export with whatpartfinds 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.