@adapt-toolkit/mufl
v0.9.7
Published
The MUFL toolchain: prebuilt `mufl` (REPL) and `mufl-compile` (compiler) engine binaries plus the MUFL stdlib, meta, and transactions trees they need at run time. Linux x64 only; the binaries are proprietary (AEFL) — see LICENSE and NOTICE.
Readme
@adapt-toolkit/mufl
The MUFL toolchain as an npm package: prebuilt mufl (REPL / unified CLI)
and mufl-compile (compiler) engine binaries, plus the MUFL standard
library trees they need at run time (mufl_stdlib/, meta/, transactions/).
npm install @adapt-toolkit/mufl
npx mufl-compile my_packet.mu # writes a content-hashed <hash>.muflo to the cwd
npx mufl --help # unified CLI: compile / run / repl subcommands
npx mufl # interactive REPL (console mode)Platform support
linux-x64 (glibc) only. On any other platform/arch both commands exit 1 with:
@adapt-toolkit/mufl: no prebuilt binary for <platform>-<arch> (available: linux-x64)On unsupported platforms, build from an adapt-toolkit checkout instead and point your scripts at it (see the environment contract below — it is preserved verbatim, so checkout-based workflows keep working).
Requires Node >= 20. The package weighs tens of MB (two native binaries plus three MUFL source trees).
Environment / flag contract
The launcher shims are thin: they spawn the real binary with your stdio and propagate its exit code and signals. Two defaults are injected, both losing to the caller:
MUFL_STDLIB_PATH— set to the packagedmufl_stdlib/unless already set in your environment. Your value always wins.-mpmeta search paths —-mp <pkg>/meta -mp <pkg>/transactionsare appended only when you passed no-mpflag at all. Any caller-supplied-mpdisables the packaged defaults entirely (compose your own full set, exactly like invocations inside an adapt checkout do).
Programmatic paths
Build scripts can locate the toolkit without spawning a process:
import { binDir, stdlibPath, metaPath, transactionsPath, binaryPath }
from '@adapt-toolkit/mufl/paths';
binaryPath('mufl-compile'); // <pkg>/prebuilds/linux-x64/mufl-compile
// throws the unsupported-platform error elsewhereVersioning
Version-locked to @adapt-toolkit/sdk: every release of this package is built
from the same CI run of the same commit as the SDK of the same version.
License
SEE LICENSE IN LICENSE — dual scheme, mapped in NOTICE:
- the engine binaries (
prebuilds/) are proprietary, under the Adapt Engine Free-Use License (AEFL) — full text inLICENSE; - the launcher shims and bundled MUFL source trees are under the
Functional Source License, Version 1.1, Apache 2.0 Future License
(FSL-1.1-Apache-2.0) — full text in
LICENSE.fsl.
Source-access / commercial licensing: [email protected]
