Edit

Eject

A common practice with Vike is ejecting extensions: you remove the extension, copy its source code, then customize the integration.

Vike extensions use the same API as Vike users.

Thanks to Vike's powerful hooks, extensions are usually small — ejecting them is easy.

You can do this process manually, or you can use the eject package to automatically copy extension code.

See also: Vike extension VS custom integration

Package eject

The eject package automatically copies the code of any npm package, including Vike extensions.

It moves the code from /node_modules/vike-awesome-extension/ to your Git repository at /ejected/vike-awesome-extension/ — you can then fully customize the code.

The ejected code at /ejected/vike-awesome-extension is the built JavaScript, but there is work-in-progress for copying the original source code (e.g. TypeScript from the Git repository instead of copying /node_modules/vike-awesome-extension/).

When to eject?

We recommend ejecting only as a last resort: only when it becomes clear that ejecting is the only option left for resolving your issue.

In particular, before considering ejecting, create a new issue on GitHub. The maintainer of the Vike extension will most likely be able to help you, so that you don't have to eject. You can also create a Pull Request (which is still better than ejecting because you'll keep using a well-maintained integration, and also because you'll help the community).

See also: Vike extension VS custom integration

See also