atomicdata-dev / atomic-server

An open source headless CMS / real-time database. Powerful table editor, full-text search, and SDKs for JS / React / Svelte.
https://atomicserver.eu
MIT License
1.01k stars 46 forks source link

Minimize impact of pnpm in build scripts #642

Open joepio opened 1 year ago

joepio commented 1 year ago

After merging Atomic Data Browser with AtomicServer, the new monorepo builds the JS assets instead of having them in the commits (which required manual work, yuck).

As a result of this, the build process depends on a JS package manager, in this case pnpm. This leads to pnpm being everywhere:

I don't like this proliferation. Ideally, I'd make something like pnpm part of the build.rs, as an embedded crate thing. Just a rust crate that can build the js assets.

Sticking to pnpm

Add build artefacts in repo

This is what we did before we switched to the monorepo. Having JS artefacts in the commits every time anything changes bloats the repo, adds commits that have no semantic value, and increases dev-time complexity (because I sometimes forget to commit build artefacts!).

However it also means that building no longer requires node / pnpm which is great for everyone building Atomic-Server from source.

Using Bun

Turbopack

joepio commented 2 weeks ago

Deno RC2 is out, and it has node support. Could be a good option.

But: