A Vite plugin for deploying applications with Zephyr Cloud. This plugin integrates with Vite's build process to enable seamless deployment of your applications, with optional Module Federation support. Read more from our documentation here.
The fastest way to get started is to use create-zephyr-apps to generate a new Vite application with Zephyr integration and there are various vite examples available:
npx create-zephyr-apps@latest# npm
npm install --save-dev vite-plugin-zephyr
# yarn
yarn add --dev vite-plugin-zephyr
# pnpm
pnpm add --dev vite-plugin-zephyr
# bun
bun add --dev vite-plugin-zephyrAdd the plugin to your Vite configuration:
// vite.config.js
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { withZephyr } from 'vite-plugin-zephyr';
export default defineConfig({
plugins: [react(), withZephyr()],
build: {
target: 'chrome89',
},
});For microfrontend applications using Module Federation:
// vite.config.js
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { federation } from '@module-federation/vite';
import { withZephyr } from 'vite-plugin-zephyr';
const mfConfig = {
name: 'my-app',
remotes: {
shared: 'shared@http://localhost:3001/remoteEntry.js',
},
shared: {
react: { singleton: true },
'react-dom': { singleton: true },
},
};
export default defineConfig({
plugins: [react(), federation(mfConfig), withZephyr()],
build: {
target: 'chrome89',
},
});// vite.config.ts
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { federation, type ModuleFederationOptions } from '@module-federation/vite';
import { withZephyr } from 'vite-plugin-zephyr';
const mfConfig: ModuleFederationOptions = {
name: 'host-app',
remotes: {
'remote-app': 'remoteApp@http://localhost:3001/remoteEntry.js',
},
shared: {
react: { singleton: true },
'react-dom': { singleton: true },
},
};
export default defineConfig({
plugins: [react(), federation(mfConfig), withZephyr()],
build: {
target: 'chrome89',
},
});- 🚀 Seamless deployment during Vite build
- 🏗️ Optional Module Federation support via @module-federation/vite
- 📦 Asset optimization and caching
- 🔧 Zero-config setup for simple applications
- 📊 Build analytics and monitoring
- 🌐 Global CDN distribution
- ⚡ Hot module replacement in development
When you need federation, this plugin works with the official vite plugin from Module Federation, providing:
- Host Applications: Consume remote modules from other applications
- Remote Applications: Expose modules for consumption by host applications
- Shared Dependencies: Efficient sharing of common libraries
- Dynamic Imports: Runtime loading of remote modules
- Install the plugin in your Vite project
- Add it to your Vite configuration
- Configure Module Federation (if needed) for microfrontends
- Build your application with
vite build - Your app will be automatically deployed to Zephyr Cloud
Add these scripts to your package.json:
{
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
}
}- Vite 5.x, 6.x, or 7.x
- Rollup 4.x
- Node.js version supported by your Vite toolchain
- Zephyr Cloud account (sign up at zephyr-cloud.io)
If you use Module Federation, also install @module-federation/vite.
Check out our examples directory for complete working examples:
- vite-react-ts - Basic React + TypeScript setup
- vite-react-mf - Module Federation setup with host and remote
We welcome contributions! Please read our contributing guidelines for more information.
Licensed under the Apache-2.0 License. See LICENSE for more information.
