v0.10.7
- Bun apps can ship as part of an image. A new
bun_appclass packages a
Bun project plus itsnode_modulestree as a regular yoe unit, so apps that
need a specific set of npm packages get them baked into the apk. Bun runs
TypeScript natively, so the entry point can be a plain.tsfile with no
compile step.bun-imageships abun-hellodemo — log in and run
bun-hello "..."to see the bundledfigletdependency render an ASCII-art
greeting. - New
bun-image. A ready-to-boot image with thebunruntime (andbunx)
plus the dev-image diagnostic userland, sobun install <pkg>andbun run
work on first login without a separateapk add. - npm dependencies can ship as part of an image. A new
nodejs_appclass
packages a Node.js app plus itsnode_modulestree as a regular yoe unit, so
apps that need a specific set of npm packages get them baked into the apk
instead of installed at first boot. Drop a normalpackage.json(and
optionallypackage-lock.json) next to your unit and the class runs
npm install/npm ciagainst it at build time.nodejs-imageships a
nodejs-hellodemo — log in and runnodejs-hello "..."to see the bundled
figletdependency render an ASCII-art greeting. - New
nodejs-image. A ready-to-boot image withnode,npm, and the
dev-image diagnostic userland, sonpm install <pkg>works on first login
without a separateapk add. yoe initprojects now pinzstdto Alpine. Source-builtzstdships
libzstd.so.1at a different soversion than Alpine'szstd-libs, so any
image that mixes source consumers (curl, file) with Alpine prebuilts that link
against Alpine's libzstd (nodejs, bun) used to fail with an apk conflict over
the shared.so. New projects get the pin out of the box; existing projects
can copy the"zstd": "alpine"entry into theirprefer_modulesblock.- Patches live next to the unit, not under a separate
patches/tree. A
unit'spatches = [...]paths are now relative to the unit's own directory
with nopatches/prefix — e.g.,patches = ["mdnsd/0001-….patch"]next to
mdnsd.star.yoe dev extractwrites patches into<unit-dir>/<unit>/
alongside the.starfile, so a module's patches travel with the module that
defines them. Migration: drop the leadingpatches/from existing
patches = [...]entries and move the files to match. yoe dev statusworks through project errors. It now walks the build
directory directly instead of evaluating the project, so unrelated issues like
a duplicate-provides collision in a module no longer block you from seeing
which units have uncommitted local edits.
To update, run: yoe update
Or download the binary for your architecture and place it in your PATH.
Note: Yoe is in heavy development. We recommend cleaning your build directory and re-creating projects (yoe init) with each new release.