From 8c9893846c45c765148ea283619828dae359d9d0 Mon Sep 17 00:00:00 2001 From: davidontop Date: Sun, 22 Sep 2024 09:30:52 +0200 Subject: [PATCH] feat: project structure --- README.md | 10 ++++++---- build.sbt | 17 ++++++++++++++++- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index b0bc4dc..e9b9916 100644 --- a/README.md +++ b/README.md @@ -10,18 +10,20 @@ This project is far from being ready to use so for now these also include planne - [ ] CSR support - [ ] Hydration - [ ] router -- [ ] RPC integration or server functions - [ ] ReScala reactive backend - [ ] zio server integration ### TODO -- [ ] Full type safety, eliminate ? as generic param and asInstanceOf where possible +- [ ] Type safety, eliminate ? as generic param and asInstanceOf where possible - [ ] AirStream reactive backend - [ ] other server integrations ## Packages - sfs - different renderers (String, dom, hydration) and reactivity bindings -- dom - shared jvm/js html builder which includes: tags, attributes, props, svg utils - - possible to use from other libraries which need a js+jvm html/dom builder \ No newline at end of file +- dom - shared jvm/js html builder which includes: tags, attributes, props, svg, utils + - possible to use from other libraries which need a js+jvm html/dom builder +- router - implements a universal router for ssr and csr/hydration +- reactive/* - various reactive backends +- integrations/* - various server integrations \ No newline at end of file diff --git a/build.sbt b/build.sbt index d2d5aca..3b83e80 100644 --- a/build.sbt +++ b/build.sbt @@ -1,4 +1,4 @@ -ThisBuild / scalaVersion := "3.5.0" +ThisBuild / scalaVersion := "3.5.1" ThisBuild / versionScheme := Some("semver-spec") ThisBuild / publishMavenStyle := true @@ -58,6 +58,14 @@ lazy val sfs = crossProject(JSPlatform, JVMPlatform) ) .dependsOn(dom) +lazy val sfsRouter = crossProject(JSPlatform, JVMPlatform) + .crossType(CrossType.Pure) + .in(file("./router")) + .settings( + name := "sfs-router", + version := "0.1.0-alpha" + ) + lazy val sfsReScala = crossProject(JSPlatform, JVMPlatform) .crossType(CrossType.Pure) .in(file("./reactive/rescala")) @@ -65,3 +73,10 @@ lazy val sfsReScala = crossProject(JSPlatform, JVMPlatform) name := "sfs-rescala", version := "0.1.0-alpha" ) + +lazy val sfsZio = project + .in(file("./integrations/zio")) + .settings( + name := "sfs-zio", + version := "0.1.0-alpha" + )