v3.0.0-rc.117 Preview

A Universal Rendering FrameworkBuilt on Native ESM

Based on native ESM + Import Maps, with CSR/SSR and module linking. Compose applications and share code through the browser's native module system — zero extra runtime overhead.

GitHub@esmx/core v3.0.0-rc.117MIT License
package.json
{
  "name": "my-remote",
  "esmx": {
    "exports": {
      "./routes": "./src/routes.ts"
    },
    "provides": ["react", "react-dom"]
  }
}

Built for the agent era

Other micro-frontend frameworks invented their own lifecycle hooks, loader DSLs, and globals. Esmx is plain ESM + import maps — the same surface LLMs were trained on. Less to learn, less to hallucinate.

Traditional
Custom lifecycle hooks (bootstrap, mount, unmount, runtime sandbox)
Proprietary loader DSL (expose/share, registerApplication, qiankun.start)
Proxy-hijacked globals make stack traces opaque and tooling fragile
Esmx
No lifecycle to learn — your remote is a standard ESM module the host imports.
Traditional
Custom lifecycle hooks (bootstrap, mount, unmount, runtime sandbox)
Proprietary loader DSL (expose/share, registerApplication, qiankun.start)
Proxy-hijacked globals make stack traces opaque and tooling fragile
Esmx
Federation is `import './x'` resolved by a standard import map. Your AI assistant already knows the API.
Traditional
Custom lifecycle hooks (bootstrap, mount, unmount, runtime sandbox)
Proprietary loader DSL (expose/share, registerApplication, qiankun.start)
Proxy-hijacked globals make stack traces opaque and tooling fragile
Esmx
Stack traces, devtools, and source maps point at the real module — no proxy in between.

Core Features

Six core capabilities that redefine the micro-frontend experience

Zero Runtime Overhead

Browser-native ESM loading — no sandbox, proxy, or wrapper layers. Modules load and run directly, cutting runtime overhead dramatically versus traditional approaches.

Standard ESM Syntax

Use the familiar import/export — zero learning curve. No proprietary APIs to master; it feels just like writing a normal app.

SSR Support

Flexible server-side rendering, SEO-friendly with a fast first paint. Every app can be server-rendered independently.

Mix Any Framework

Vue, React, Preact and native HTML work out of the box; Solid, Svelte and more via simple config. Never locked into a single framework.

Module Linking

Cross-app module sharing via ESM Import Maps — dependencies resolved at build time, loaded directly at runtime. No redundant bundling, real module reuse.

High-Performance Builds

Powered by Rspack (Rust-driven): fast builds, Webpack ecosystem compatibility, with HMR, code splitting and content-hash caching.

Start in 3 Minutes

One command to scaffold a project and start developing right away

Terminal
$npm create esmx@latest my-app
Project created successfully
$cd my-app && npm install
$npm run dev
Ready on http://localhost:3000
$
package.json
{
  "dependencies": {
    "shared-modules": "^1.0.0"
  },
  "esmx": {
    "uses": ["shared-modules"]
  }
}

Works with Any Frontend Framework

Not bound to any framework — pick the stack that fits your use case best

Framework × Bundler

Every cell is one running federation remote. Click to open it.

Vite 8RspackRsbuild
Vue 3
Vue 2.7
React 19
Preact 10
SolidJS
Svelte 5
Lit
HTML

Nine Frameworks, One App

Switch frameworks with one click and no page reload — feel native ESM at its best

Try It Now