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