diff --git a/Setup.hs b/Setup.hs index 6931b9a..b9e096e 100644 --- a/Setup.hs +++ b/Setup.hs @@ -148,7 +148,8 @@ buildRuntime :: LocalBuildInfo -> [FilePath] -> IO () buildRuntime lbi elmos = do createDirectoryIfMissing True (rtsDir lbi) let rts' = rts lbi - writeFile rts' "var Elm = {}; Elm.Native = {}; Elm.Native.Graphics = {};\n\ + writeFile rts' "'use strict';\n\ + \var Elm = {}; Elm.Native = {}; Elm.Native.Graphics = {};\n\ \var ElmRuntime = {}; ElmRuntime.Render = {};\n" mapM_ (appendTo rts') =<< getFiles ".js" "libraries" mapM_ (appendTo rts') elmos diff --git a/compiler/Generate/JavaScript.hs b/compiler/Generate/JavaScript.hs index 182cc6f..15f1a96 100644 --- a/compiler/Generate/JavaScript.hs +++ b/compiler/Generate/JavaScript.hs @@ -293,7 +293,8 @@ generate unsafeModule = thisModule = dotSep ("_elm" : names modul ++ ["values"]) programStmts = concat - [ setup (Just "_elm") (names modul ++ ["values"]) + [ [ ExprStmt () $ string "use strict" ] + , setup (Just "_elm") (names modul ++ ["values"]) , [ IfSingleStmt () thisModule (ret thisModule) ] , [ internalImports (List.intercalate "." (names modul)) ] , concatMap jsImport . Set.toList . Set.fromList . map fst $ imports modul