refactor: share checksum rebuild logic

Move some of the caching logic (source file checksum) out of Starmelon
into a shared infra crate.

I have 4 similar tooling use cases for working with elm projects in
Rust.
1. Starmelon needs to create a modified copy of an existing elm
   application with extra dependencies and source directories. The
   extension elm application points to the source directories of the
   parent
2. Elm reactor needs to compile an elm module into javascript with
   caching.
3. SQL reactor needs to generate an elm application for each database,
   generate elm source code and compile that elm code with caching. It
   uses Starmelon to run derive macros written in Elm.
4. AstridLabs needs to create a heavily modified copy of an existing elm
   application with tons of generated code. It uses Starmelon to run
   derive macros written in Elm.

For 3 and 4 I could speed up the code generation step by using
part of starmelon as library. A proc-macro could include the Elm derive
macro javascript at crate build time and reuse the same v8 isolate over
and over for every web request.

My plan for 1,2,3,4 has a lot of shared functionality. I am thinking
that I should consolidate all the components into one library crate.
This commit is contained in:
YetAnotherMinion 2021-10-12 21:00:25 +01:00 committed by nobody
commit 5d770d0d0a
Signed by: GrocerPublishAgent
GPG key ID: D460CD54A9E3AB86
5 changed files with 310 additions and 330 deletions

View file

@ -0,0 +1 @@
../../../../../target/release/starmelon