Skip to content

ESPACK v0.4.0 — arbitrary-file payloads (EXEs, assets, anything)

Choose a tag to compare

@thelabcorner thelabcorner released this 10 Aug 19:56
· 5 commits to master since this release

ESPACK v0.4.0

New in this release

  • Arbitrary-file payloads (kind=file): --embed now accepts any file — EXEs, PNGs, fonts, JSON, anything — not just DLLs.
    • Original extension preserved in the versioned cache name: Tool_v1.exe
    • Byte-exact extraction through the same native (b64decodeToFile) and JSX lanes
    • ESPAK.extract(i) / ESPAK.payloadPath(i) materialize file payloads; ESPAK.load(i) rejects them with a clear kind=file error — a non-DLL is never handed to ExternalObject
    • GC is extension-agnostic; ESPAK.config.payloads exposes kind; extract() reports lane: "skip" on the already-extracted path
  • DLL payloads unchanged and byte-compatible with v0.3.0 — no kind emitted for them in bundles or manifests.

Example

var x = ESPAK.extract('Tool');          // { ok: true, lane: "native", path }
if (x.ok) new File(x.path).execute();   // spawn the bundled helper EXE

Validation

  • Node: 39/39 espack + 6/6 merge + vendor-sync drift guard
  • Live on Illustrator 30.6.0 via COM: ALL e2e checks passed — new kind=file scenario: byte-exact EXE extraction via the native lane, load() rejection, config kind surfaced

Assets

  • ESPAK-demo.accel.jsx — runnable standalone demo bundle (shared accelerator, #target illustrator)
  • ESB64Native.dll — the shared WHATWG-exact accelerator (9,728 B) embedded in every accel bundle