elm2nix 0.1.1 → 0.1.2
raw patch · 5 files changed
+36/−20 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- CHANGELOG.md +17/−0
- ChangeLog.md +0/−11
- data/default.nix +11/−2
- elm2nix.cabal +2/−2
- src/Elm2Nix.hs +6/−5
+ CHANGELOG.md view
@@ -0,0 +1,17 @@+# Changelog for elm2nix++## 0.1.2 (2019-10-29)++- #33 Minification of JS output (@turboMaCk)+- #32 Make it possible to target JS output (@turboMaCk)+- #31 Fetch test-dependencies (@prasmussen)++## 0.1.1 (2019-02-19)++### Changes++- #22 Support req-0.1.0.0 (@domenkozar)++## 0.1.0 (2018-12-28)++- Initial release (@domenkozar)
− ChangeLog.md
@@ -1,11 +0,0 @@-# Changelog for elm2nix--## 0.1.1 (2019-02-19)--### Changes--- #22 Support req-0.1.0.0 (@domenkozar)--## 0.1.0 (2018-12-28)--- Initial release (@domenkozar)
data/default.nix view
@@ -12,11 +12,13 @@ , srcdir ? "./src" , targets ? [] , versionsDat ? ./versions.dat+ , outputJavaScript ? false }: stdenv.mkDerivation { inherit name src; - buildInputs = [ elmPackages.elm ];+ buildInputs = [ elmPackages.elm ]+ ++ lib.optional outputJavaScript nodePackages_10_x.uglify-js; buildPhase = pkgs.elmPackages.fetchElmDeps { elmPackages = import srcs;@@ -25,11 +27,17 @@ 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}.html --docs \$out/share/doc/\${module}.json+ 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)} ''; };@@ -39,4 +47,5 @@ src = ./.; targets = ["Main"]; srcdir = "${srcdir}";+ outputJavaScript = false; }
elm2nix.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: elm2nix-version: 0.1.1+version: 0.1.2 synopsis: Turn your Elm project into buildable Nix project description: Please see the README on Github at <https://github.com/domenkozar/elm2nix#readme> homepage: https://github.com/domenkozar/elm2nix#readme@@ -17,7 +17,7 @@ cabal-version: 2.0 extra-source-files:- ChangeLog.md+ CHANGELOG.md README.md data/default.nix
src/Elm2Nix.hs view
@@ -46,11 +46,11 @@ throwErr :: Elm2NixError -> Elm2Nix a throwErr e = Elm2Nix (throwE e) -parseElmJsonDeps :: Value -> Either Elm2NixError [Dep]-parseElmJsonDeps obj =+parseElmJsonDeps :: Text -> Value -> Either Elm2NixError [Dep]+parseElmJsonDeps depsKey obj = case obj of Object hm -> do- deps <- tryLookup hm "dependencies"+ deps <- tryLookup hm depsKey case deps of Object dhm -> do direct <- tryLookup dhm "direct"@@ -83,10 +83,11 @@ res <- liftIO (fmap Json.eitherDecode (LBS.readFile "elm.json")) elmJson <- either (throwErr . ElmJsonReadError) return res - deps <- either throwErr return (parseElmJsonDeps elmJson)+ deps <- either throwErr return (parseElmJsonDeps "dependencies" elmJson)+ testDeps <- either throwErr return (parseElmJsonDeps "test-dependencies" elmJson) liftIO (hPutStrLn stderr "Prefetching tarballs and computing sha256 hashes ...") - sources <- liftIO (mapConcurrently (uncurry prefetch) deps)+ sources <- liftIO (mapConcurrently (uncurry prefetch) (deps ++ testDeps)) liftIO (putStrLn (generateNixSources sources)) initialize :: IO ()