Skip to main content

loa pull

loa pull​

Pull locked native assets and direct URLs locally; leave file: references live

Resolves changed declarations and materializes the combined workspace asset set into project-local asset_cache/. Unchanged bindings retain their locked versions. Commit assets.json and assets-lock.json; the CLI adds generated cache and resolution-map paths to .gitignore.

Native files are downloaded anonymously into the content-addressed global store and SHA-256 verified. Cached native bytes are checked before reuse. Project files are materialized by clone, then hardlink, then copy, depending on filesystem support. Hardlinked files share their bytes with the global store, so treat pulled native assets as immutable and use file: references for files you edit.

Direct HTTP(S) URLs are downloaded only into this project cache without integrity checks. Existing downloads are reused; --refresh fetches their current response again. A failed refresh preserves an existing cached download. URL downloads never enter the global store.

file: sources are never read, hashed, copied, or altered by pull. Offline use still requires those original files and any decoder/WASM resources used by your application to be available.

--frozen-lockfile fails before fetching if the root lockfile is missing or differs from the manifests. It prevents resolution changes, but cannot make direct URLs or live files immutable. Use it in CI when selections must already be committed.

Run loa resolve again after pulling if your application uses an exported JSON map. Applications using the Vite plugin obtain their map through virtual:loa.

Usage​

loa pull [--parallel <parallel>] [--frozen-lockfile] [--refresh]
FlagTypeRequiredDescription
--parallelnumberNoNumber of concurrent asset downloads; Default: 4
--frozen-lockfilebooleanNoFail if the lockfile is missing or differs from manifests; Default: false
--refreshbooleanNoRefresh project-local direct URL downloads; Default: false

Examples​

Pull the workspace asset set​

loa pull

Require committed resolutions in CI​

loa pull --frozen-lockfile

Refresh direct URL downloads​

loa pull --refresh