Skip to main content
Webstorio pages and components are React (.tsx). However your code is created — generated by the AI page builder, tweaked in the visual editor, or written and pushed with the CLI — the Webstorio server compiles it against a fixed set of supported libraries at pinned versions. This list is the compatibility manifest.

Allowed libraries

Page code may only import from this allowlist. Anything else must be inlined as a relative import (the bundler includes it in the page): Subpaths under react/, react-dom/, motion/, three/, lenis/, @react-three/, @react-spring/, and @hugeicons/ are allowed when they match the packages above.
Compilation fails fast if page code imports a non-allowlisted package or has no default export. The server re-validates everything before it compiles.

Compatibility date

Each project pins a compatibility date — the compatibilityDate field in webstorio.config.ts, a YYYY-MM-DD value that selects which versions of the libraries above your project targets.
  • webstorio init writes the current date when you scaffold a project.
  • The server compiles against the newest version set effective on or before that date, so your site keeps building the same way even as Webstorio ships newer versions later.
  • To adopt newer versions, bump the date with webstorio update, which also realigns your local devDependencies.

Keeping local code in sync

When you build with the CLI, run webstorio update to align your local devDependencies with the exact versions the server uses — so your editor types and local preview match production.

Request a library

Need a package that isn’t on the list? You can ask us to add it to the compatibility manifest. Email [email protected] with:
  • the package name (and the version, if you need a specific one),
  • a short note on what you’re building and why the package is needed, and
  • a link to the package (npm or repository).
We prioritize widely-used, browser-safe libraries that compile cleanly on the server. Until a package is added, inline the code you need as a relative import.