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-extensionis 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