Registry / web-framework / vite-plugin-rnw

vite-plugin-rnw

JSON →
library0.0.11jsnpmunverified

Vite plugin for React Native Web (RNW) that integrates RNW with Vite's dev server and build pipeline. Current stable version is 0.0.11, with active development. Release cadence is irregular. Key differentiators: provides HMR for RNW components, handles CSS-in-JS processing, and supports multiple Vite versions (4, 5, 6, 7, 8). Unlike other solutions, it directly applies RNW-specific config while leveraging Vite's React plugin. Requires react-native-web, TypeScript 5+, and Vite 4+. Includes expo-modules-core compatibility plugin since v0.0.8.

npm install vite-plugin-rnw
INSTALL
IMPORT
SIG · VITE-PLUGIN-RNW
V
vite-plugin-rnw
web-frameworkjavascriptv0.0.11
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

reactNativeWebPlugin
import reactNativeWebPlugin from 'vite-plugin-rnw'
const reactNativeWebPlugin = require('vite-plugin-rnw')
Plugin is ESM-only; require() fails. Use default import.
expoModulesCoreFixPlugin
import { expoModulesCoreFixPlugin } from 'vite-plugin-rnw'
import expoModulesCoreFixPlugin from 'vite-plugin-rnw'
Named export for Expo compatibility; default export is reactNativeWebPlugin only.
Types
import type { VitePluginRnwOptions } from 'vite-plugin-rnw'
const VitePluginRnwOptions = require('vite-plugin-rnw').VitePluginRnwOptions
Type imports are available; runtime usage of the type is a common error.

Shows minimal setup to add the RNW plugin to a Vite config file.

import { defineConfig } from 'vite'; import reactNativeWebPlugin from 'vite-plugin-rnw'; export default defineConfig({ plugins: [reactNativeWebPlugin()], });
Debug
Known issues
breakingv0.0.8 changes plugin API: now uses Vite's React plugin directly; old config may break
fix
Remove duplicate react() plugin from vite config; rely on reactNativeWebPlugin to handle it
affects: <0.0.8
deprecatedPlugin depends on 'react-native-web' peer; install manually
fix
Run 'npm install react-native-web' along with the plugin
affects: >=0.0.0
gotchaPlugin is ESM-only; CommonJS require() fails
fix
Use import syntax or set type: 'module' in package.json
affects: >=0.0.0
gotchaTypeScript 5+ is required; older versions can't read plugin types
fix
Upgrade TypeScript to version 5 or higher
affects: >=0.0.0
Errors
Common errors & fixes
Error: Module not found: Can't resolve 'react-native-web'
Missing peer dependency react-native-web
fix
npm install react-native-web
TypeError: reactNativeWebPlugin is not a function
Incorrect import: using require() or wrong import path
fix
Use import reactNativeWebPlugin from 'vite-plugin-rnw'
Cannot find module 'vite-plugin-rnw'
Plugin not installed
fix
npm install vite-plugin-rnw
Upgrade
Version history
0.0.11latest on npm
Audit
Dependencies
react-native-webrequiredCore peer dependency required at runtime for RNW components
typescriptrequiredPeer dependency for type checking and plugin configuration
viterequiredPeer dependency - the plugin is a Vite plugin
Agent activity
21 hits · last 30 days
node
16
OpenAI (training)
1
Resources
vite-plugin-rnw — npm install vite-plugin-rnw · libregistry