From 62adcab9ff70279b725016fe59ddd09fb6ffcbd9 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Sat, 3 Oct 2020 11:08:50 -0400 Subject: [PATCH] start frontend code --- .gitignore | 2 +- Cargo.lock => backend/Cargo.lock | 0 Cargo.toml => backend/Cargo.toml | 0 diesel.toml => backend/diesel.toml | 0 {migrations => backend/migrations}/.gitkeep | 0 .../2020-09-13-154110_switches/down.sql | 0 .../2020-09-13-154110_switches/up.sql | 0 .../2020-09-13-155542_system/down.sql | 0 .../2020-09-13-155542_system/up.sql | 0 .../2020-09-13-163914_webmention/down.sql | 0 .../2020-09-13-163914_webmention/up.sql | 0 {src => backend/src}/build.rs | 0 {src => backend/src}/main.rs | 0 {src => backend/src}/models.rs | 0 {src => backend/src}/schema.rs | 0 {templates => backend/templates}/foo.rs.html | 0 frontend/default.nix | 53 ++++++++++++++++++ frontend/elm-srcs.nix | 37 ++++++++++++ frontend/elm.json | 24 ++++++++ frontend/registry.dat | Bin 0 -> 101392 bytes frontend/result | 1 + frontend/src/Main.elm | 7 +++ shell.nix | 7 +++ 23 files changed, 130 insertions(+), 1 deletion(-) rename Cargo.lock => backend/Cargo.lock (100%) rename Cargo.toml => backend/Cargo.toml (100%) rename diesel.toml => backend/diesel.toml (100%) rename {migrations => backend/migrations}/.gitkeep (100%) rename {migrations => backend/migrations}/2020-09-13-154110_switches/down.sql (100%) rename {migrations => backend/migrations}/2020-09-13-154110_switches/up.sql (100%) rename {migrations => backend/migrations}/2020-09-13-155542_system/down.sql (100%) rename {migrations => backend/migrations}/2020-09-13-155542_system/up.sql (100%) rename {migrations => backend/migrations}/2020-09-13-163914_webmention/down.sql (100%) rename {migrations => backend/migrations}/2020-09-13-163914_webmention/up.sql (100%) rename {src => backend/src}/build.rs (100%) rename {src => backend/src}/main.rs (100%) rename {src => backend/src}/models.rs (100%) rename {src => backend/src}/schema.rs (100%) rename {templates => backend/templates}/foo.rs.html (100%) create mode 100644 frontend/default.nix create mode 100644 frontend/elm-srcs.nix create mode 100644 frontend/elm.json create mode 100644 frontend/registry.dat create mode 120000 frontend/result create mode 100644 frontend/src/Main.elm diff --git a/.gitignore b/.gitignore index 21ef6af..4978251 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -/target +/backend/target mi.db diff --git a/Cargo.lock b/backend/Cargo.lock similarity index 100% rename from Cargo.lock rename to backend/Cargo.lock diff --git a/Cargo.toml b/backend/Cargo.toml similarity index 100% rename from Cargo.toml rename to backend/Cargo.toml diff --git a/diesel.toml b/backend/diesel.toml similarity index 100% rename from diesel.toml rename to backend/diesel.toml diff --git a/migrations/.gitkeep b/backend/migrations/.gitkeep similarity index 100% rename from migrations/.gitkeep rename to backend/migrations/.gitkeep diff --git a/migrations/2020-09-13-154110_switches/down.sql b/backend/migrations/2020-09-13-154110_switches/down.sql similarity index 100% rename from migrations/2020-09-13-154110_switches/down.sql rename to backend/migrations/2020-09-13-154110_switches/down.sql diff --git a/migrations/2020-09-13-154110_switches/up.sql b/backend/migrations/2020-09-13-154110_switches/up.sql similarity index 100% rename from migrations/2020-09-13-154110_switches/up.sql rename to backend/migrations/2020-09-13-154110_switches/up.sql diff --git a/migrations/2020-09-13-155542_system/down.sql b/backend/migrations/2020-09-13-155542_system/down.sql similarity index 100% rename from migrations/2020-09-13-155542_system/down.sql rename to backend/migrations/2020-09-13-155542_system/down.sql diff --git a/migrations/2020-09-13-155542_system/up.sql b/backend/migrations/2020-09-13-155542_system/up.sql similarity index 100% rename from migrations/2020-09-13-155542_system/up.sql rename to backend/migrations/2020-09-13-155542_system/up.sql diff --git a/migrations/2020-09-13-163914_webmention/down.sql b/backend/migrations/2020-09-13-163914_webmention/down.sql similarity index 100% rename from migrations/2020-09-13-163914_webmention/down.sql rename to backend/migrations/2020-09-13-163914_webmention/down.sql diff --git a/migrations/2020-09-13-163914_webmention/up.sql b/backend/migrations/2020-09-13-163914_webmention/up.sql similarity index 100% rename from migrations/2020-09-13-163914_webmention/up.sql rename to backend/migrations/2020-09-13-163914_webmention/up.sql diff --git a/src/build.rs b/backend/src/build.rs similarity index 100% rename from src/build.rs rename to backend/src/build.rs diff --git a/src/main.rs b/backend/src/main.rs similarity index 100% rename from src/main.rs rename to backend/src/main.rs diff --git a/src/models.rs b/backend/src/models.rs similarity index 100% rename from src/models.rs rename to backend/src/models.rs diff --git a/src/schema.rs b/backend/src/schema.rs similarity index 100% rename from src/schema.rs rename to backend/src/schema.rs diff --git a/templates/foo.rs.html b/backend/templates/foo.rs.html similarity index 100% rename from templates/foo.rs.html rename to backend/templates/foo.rs.html diff --git a/frontend/default.nix b/frontend/default.nix new file mode 100644 index 0000000..af7d671 --- /dev/null +++ b/frontend/default.nix @@ -0,0 +1,53 @@ +{ nixpkgs ? +, config ? {} +}: + +with (import nixpkgs config); + +let + mkDerivation = + { srcs ? ./elm-srcs.nix + , src + , name + , srcdir ? "./src" + , targets ? [] + , registryDat ? ./registry.dat + , outputJavaScript ? false + }: + stdenv.mkDerivation { + inherit name src; + + buildInputs = [ elmPackages.elm ] + ++ lib.optional outputJavaScript nodePackages_10_x.uglify-js; + + buildPhase = pkgs.elmPackages.fetchElmDeps { + elmPackages = import srcs; + elmVersion = "0.19.1"; + inherit registryDat; + }; + + installPhase = let + elmfile = module: "${srcdir}/${builtins.replaceStrings ["."] ["/"] module}.elm"; + extension = if outputJavaScript then "js" else "html"; + in '' + mkdir -p $out/share/doc + ${lib.concatStrings (map (module: '' + echo "compiling ${elmfile module}" + elm make ${elmfile module} --output $out/${module}.${extension} --docs $out/share/doc/${module}.json + ${lib.optionalString outputJavaScript '' + echo "minifying ${elmfile module}" + uglifyjs $out/${module}.${extension} --compress 'pure_funcs="F2,F3,F4,F5,F6,F7,F8,F9,A2,A3,A4,A5,A6,A7,A8,A9",pure_getters,keep_fargs=false,unsafe_comps,unsafe' \ + | uglifyjs --mangle --output=$out/${module}.min.${extension} + ''} + '') targets)} + ''; + }; +in mkDerivation { + name = "mi-frontend-0.1.0"; + srcs = ./elm-srcs.nix; + src = ./.; + targets = ["Main"]; + srcdir = "./src"; + outputJavaScript = true; +} + diff --git a/frontend/elm-srcs.nix b/frontend/elm-srcs.nix new file mode 100644 index 0000000..63df5b9 --- /dev/null +++ b/frontend/elm-srcs.nix @@ -0,0 +1,37 @@ +{ + + "elm/html" = { + sha256 = "1n3gpzmpqqdsldys4ipgyl1zacn0kbpc3g4v3hdpiyfjlgh8bf3k"; + version = "1.0.0"; + }; + + "elm/browser" = { + sha256 = "0nagb9ajacxbbg985r4k9h0jadqpp0gp84nm94kcgbr5sf8i9x13"; + version = "1.0.2"; + }; + + "elm/core" = { + sha256 = "19w0iisdd66ywjayyga4kv2p1v9rxzqjaxhckp8ni6n8i0fb2dvf"; + version = "1.0.5"; + }; + + "elm/json" = { + sha256 = "0kjwrz195z84kwywaxhhlnpl3p251qlbm5iz6byd6jky2crmyqyh"; + version = "1.1.3"; + }; + + "elm/url" = { + sha256 = "0av8x5syid40sgpl5vd7pry2rq0q4pga28b4yykn9gd9v12rs3l4"; + version = "1.0.0"; + }; + + "elm/time" = { + sha256 = "0vch7i86vn0x8b850w1p69vplll1bnbkp8s383z7pinyg94cm2z1"; + version = "1.0.0"; + }; + + "elm/virtual-dom" = { + sha256 = "0q1v5gi4g336bzz1lgwpn5b1639lrn63d8y6k6pimcyismp2i1yg"; + version = "1.0.2"; + }; +} diff --git a/frontend/elm.json b/frontend/elm.json new file mode 100644 index 0000000..dea3450 --- /dev/null +++ b/frontend/elm.json @@ -0,0 +1,24 @@ +{ + "type": "application", + "source-directories": [ + "src" + ], + "elm-version": "0.19.1", + "dependencies": { + "direct": { + "elm/browser": "1.0.2", + "elm/core": "1.0.5", + "elm/html": "1.0.0" + }, + "indirect": { + "elm/json": "1.1.3", + "elm/time": "1.0.0", + "elm/url": "1.0.0", + "elm/virtual-dom": "1.0.2" + } + }, + "test-dependencies": { + "direct": {}, + "indirect": {} + } +} diff --git a/frontend/registry.dat b/frontend/registry.dat new file mode 100644 index 0000000000000000000000000000000000000000..7d12c07ac537d519eb941d0e3af0d2a98bb2e089 GIT binary patch literal 101392 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 literal 0 HcmV?d00001 diff --git a/frontend/result b/frontend/result new file mode 120000 index 0000000..f520983 --- /dev/null +++ b/frontend/result @@ -0,0 +1 @@ +/nix/store/r27d8p3jcpydwx8g4v2svl7p9f7f3f3k-mi-frontend-0.1.0 \ No newline at end of file diff --git a/frontend/src/Main.elm b/frontend/src/Main.elm new file mode 100644 index 0000000..8f4839c --- /dev/null +++ b/frontend/src/Main.elm @@ -0,0 +1,7 @@ +module Main exposing (main) + +import Html exposing (Html, text) + +main : Html msg +main = + text "Hello, World!" diff --git a/shell.nix b/shell.nix index 2a816d5..7246ab2 100644 --- a/shell.nix +++ b/shell.nix @@ -8,6 +8,7 @@ let in pkgs.mkShell { buildInputs = with pkgs; [ + # rust ruststable pkgconfig openssl @@ -17,6 +18,12 @@ in pkgs.mkShell { diesel-cli sqlite + # elm + elmPackages.elm + elmPackages.elm-format + elmPackages.elm-language-server + elm2nix + # keep this line if you use bash bashInteractive ];