vite-plugin-island
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

vite-plugin-island 🏝

Vite plugin that provides virtual modules to support partial hydration.

Plugin options

  • hydrate: string: a resolvable module path pointing to a file that exports a framework specific hydration module.

  • islandGlobPattern?: string: A glob pattern to find all island components. Defaults to src/**/*.island.*

Hydration modules

To hydrate component you have to provide a module that exports a hydrate function. For React such a module would look lie this:

import { hydrateRoot } from "react-dom/client";

export function hydrate(element, container) {
  return hydrateRoot(container, element);
}

Usage

Once everything is set up, you can use the plugin like this:

import { island } from "virtual:island";

function Component() {
  return <div>The time is {new Date().toLocaleTimeString()}</div>;
}
const IslandComponent = island(Component);

NOTE: The island function will only have an effect when Vite is run in SSR mode. For regular client builds, the island function is a no-op and returns the component verbatim.

Finally, in your page's bootstrapping code, import virtual:island-hydration to run the hydration script.

Readme

Keywords

none

Package Sidebar

Install

npm i vite-plugin-island

Weekly Downloads

1

Version

1.0.2

License

MIT

Unpacked Size

6.56 kB

Total Files

12

Last publish

Collaborators

  • fgnass