Skip to main content
Ship your compiled outputs and a portable manifest in your Composer package. Generate the manifest during your package build, before distributing it. It records relative output paths, artifact types, dependencies, hashes and byte sizes; do not put deployment URLs or installed paths in it. Register the installed package in your provider’s ordinary boot():
The declared logical entry and stylesheet must exist in the manifest roots. Each manifest supports up to 4096 outputs and 32768 dependency edges. The complete installed registry allows 128 distinct asset packages, 16384 outputs and 131072 edges; sharing the same package across surfaces counts it once. Use uses when a child needs its own runtime and stylesFrom for appearance only. Emit an independent consumer for each rendered surface; see fields and columns and entries. Do not also register manifest-backed files with FilamentAsset, provide legacy file paths, or publish the same directory through another owner. For esbuild, save the build’s metafile and provide a declaration such as:
Paths are relative to the compiled output directory. The worker declaration is needed only when your build emits that worker. The adapter reads static imports, dynamic imports and extracted CSS from esbuild. Declare additional opaque Worker/URL resources explicitly; unresolved external imports fail instead of silently producing incomplete deployment metadata.
The esbuild adapter, graph reader, SDK plugin and lower-level manifest compiler are shipped with FLEX’s Composer distribution. compile-package-manifest.php also accepts an explicit complete graph for another bundler. Its autoloader can come from the package checkout, the Composer installation or the current build project; set FLEX_FIELDS_AUTOLOAD to a specific vendor/autoload.php when needed. Neither tool replaces your build or rewrites its imports. Deployment publishes a complete package directory named by its content fingerprint. The same release is reusable; changed output produces a new directory. Previously published directories stay available. Publication rejects changed source bytes or a damaged existing release. Lazy imports and workers stay lazy, while their files are included in the published graph. Do not publish during form rendering. Use package and family contracts for typed surfaces, child slots for composition and the family schema adapter for saved configuration. The SDK build adapter supplies SDK ABI 1 to external modules. Registration does not migrate stored values or prune deployed generations. Configure value migrations when changing saved data, and choose a release retention policy for your deployments.

Continue reading

Manifest reference · SDK build adapter · Deployment
Last modified on October 17, 2026