on master help sign in
Ensure that elm-server knows where the elm runtime lives. Now users do not need to worry about that. Update version numbers.
commite192d530c7aee492bd3d63c433f122f4907962b2 authorevancz <info@elm-lang.org> dateTue 2 Oct 2012, 15:59 (14 years ago) parentf190afa
5 files changed+22−11
elm-server/Server.hs+15−6 elm-server/elm-server.cabal+2−1 elm/Elm.cabal+3−2 elm/elm-runtime-0.4.0.2.js → elm/elm-runtime-0.4.0.3.js elm/src/Compiler.hs+2−2
elm-server/Server.hs+15−6
@@ -6,15 +6,18 @@ import Control.Monad.Trans (MonadIO(liftIO))
66import Data.List (isPrefixOf, isSuffixOf)
77import Happstack.Server
88import Happstack.Server.Compression
9+import System.Directory (makeRelativeToCurrentDirectory)
910import System.Environment
1011import qualified Language.Elm as Elm
12+import Paths_Elm
1113
1214serve :: String -> IO ()
1315serve libLoc = do
14− putStrLn "Elm Server 0.4.0: running at <http://localhost:8000>"
16+ putStrLn "Elm Server 0.4.0.3: running at <http://localhost:8000>"
1517 simpleHTTP nullConf $ do
1618 _ <- compressedResponseFilter
17− msum [ uriRest (serveElm libLoc)
19+ msum [ uriRest serveElm
20+ , uriRest (serveLib libLoc)
1821 , serveDirectory EnableBrowsing [] "."
1922 ]
2023
@@ -22,20 +25,26 @@ pageTitle :: String -> String
2225pageTitle fp =
2326 reverse . takeWhile (/='/') . drop 1 . dropWhile (/='.') $ reverse fp
2427
25−serveElm libLoc fp = do
28+serveElm fp = do
2629 let ('/':filePath) = fp
2730 guard (".elm" `isSuffixOf` filePath)
2831 content <- liftIO (readFile filePath)
29− ok . toResponse $ Elm.toHtml libLoc (pageTitle filePath) content
32+ ok . toResponse $ Elm.toHtml "elm-runtime.js" (pageTitle filePath) content
3033
34+serveLib libLoc fp = do
35+ guard (fp == "/elm-runtime.js")
36+ serveFile (asContentType "application/javascript") libLoc
3137
3238main :: IO ()
3339main = getArgs >>= parse
3440
3541parse :: [String] -> IO ()
3642parse ("--help":_) = putStrLn usage
37−parse ("--version":_) = putStrLn "The Elm Server 0.3.5"
38−parse [] = serve "/elm-mini.js"
43+parse ("--version":_) = putStrLn "The Elm Server 0.4.0.3"
44+parse [] = do
45+ absolutePath <- getDataFileName "elm-runtime-0.4.0.3.js"
46+ runtime <- makeRelativeToCurrentDirectory absolutePath
47+ serve runtime
3948parse [arg]
4049 | "--runtime-location=" `isPrefixOf` arg =
4150 serve . tail $ dropWhile (/='=') arg
elm-server/elm-server.cabal+2−1
@@ -1,5 +1,5 @@
11Name: elm-server
2−Version: 0.4.0
2+Version: 0.4.0.3
33Synopsis: The Elm language server.
44Description: This package provides a standalone, Happstack-based Elm server.
55
@@ -34,4 +34,5 @@ Executable elm-server
3434 HTTP >= 4000,
3535 happstack-server == 7.0.2,
3636 deepseq,
37+ directory,
3738 Elm == 0.4.*
elm/Elm.cabal+3−2
@@ -1,6 +1,6 @@
11
22Name: Elm
3−Version: 0.4.0.2
3+Version: 0.4.0.3
44Synopsis: The Elm language module.
55Description: Elm aims to make client-side web-development more pleasant.
66 It is a statically/strongly typed, functional reactive
@@ -22,7 +22,7 @@ Category: Compiler, Language
2222Build-type: Simple
2323
2424Extra-source-files: changelog.txt
25−Data-files: elm-runtime-0.4.0.2.js
25+Data-files: elm-runtime-0.4.0.3.js
2626Cabal-version: >=1.8
2727
2828source-repository head
@@ -32,6 +32,7 @@ source-repository head
3232Library
3333 exposed-modules: Language.Elm,
3434 Language.Elm.Quasi
35+ Paths_Elm
3536 Hs-Source-Dirs: src, src/Parse, src/Types, src/Gen
3637 other-modules: Ast,
3738 CompileToJS,
elm/elm-runtime-0.4.0.2.js → elm/elm-runtime-0.4.0.3.jsrenamed

The content is the same.

elm/src/Compiler.hs+2−2
@@ -40,11 +40,11 @@ elm = ELM { make = False &= help "automatically compile dependencies."
4040 , minify = False &= help "Minify generated JavaScript"
4141 } &=
4242 help "Compile Elm programs to HTML, CSS, and JavaScript." &=
43− summary "The Elm Compiler v0.4.0.2, (c) Evan Czaplicki"
43+ summary "The Elm Compiler v0.4.0.3, (c) Evan Czaplicki"
4444
4545main = do
4646 args <- cmdArgs elm
47− mini <- getDataFileName "elm-runtime-0.4.0.2.js"
47+ mini <- getDataFileName "elm-runtime-0.4.0.3.js"
4848 compileArgs mini args
4949
5050compileArgs mini (ELM _ [] _ _ _ _ _ _) =