plenti
plenti copied to clipboard
Install via NPM
I had looked into potentially adding a way to install Plenti via npm early on, but it fell off my radar: https://github.com/plentico/plenti/issues/21#issuecomment-628871448
Just chatted with @zaydek and he shared some helpful resources for accomplishing this:
- https://github.com/zaydek/retro/blob/master/Makefile
- https://github.com/zaydek/go-npm-test
I see it’s marked as “low”, but I see this as an important step for serious adoption. Most CI solutions now run in predetermined containers and it’s just not efficient or easy to install. Current solution would require to homebrew a vendor’s CI node. Some don’t allow, and for those that allow it, it gets very costly in execution time.
Completely a side note: The other thing I was wondering, with no good place to ask, was why not make an adapter for sveltekit to extend the widely adopted solution? From the docs, i see there is also an adapter for rendering a svelte kit site as a static site. I believe you could’ve extended upon that with how you handle data to generate pages & the CMS functionality. My reaction is exactly “Yet another SSG” just as you’ve noted in your YouTube discussions.
The way I'd recommend building in CI is using the official plenti image. We build one of these for every release of Plenti so you can use the latest or lock to a specific version if you want. Those images are built from scratch and only have an entrypoint to run the binary, so they should be significantly smaller/faster than running a container with NodeJS on it. Of course if you need to extend your app with NPM you could do that, it'll just be slower.
It might be challenging to make Plenti an adapter for Sveltekit given the creative way we're doing builds (hitting the compiler directly in V8). There are definitely challenges to doing this, but it should make the project more portable and allow folks to use it without having to install NodeJS or Go and manage runtime versions on their system. The goal isn't really to live within the existing JS ecosystem, it's to make a full site building and editing experience with as few dependencies as possible.