on master help sign in
Start using strict mode for everything
efdc7a7Evan Czaplicki
Setup.hs+2−1
@@ -148,7 +148,8 @@ buildRuntime :: LocalBuildInfo -> [FilePath] -> IO ()
148buildRuntime lbi elmos = do
148buildRuntime lbi elmos = do
149 createDirectoryIfMissing True (rtsDir lbi)
149 createDirectoryIfMissing True (rtsDir lbi)
150 let rts' = rts lbi
150 let rts' = rts lbi
151+ writeFile rts' "'use strict';\n\
151− writeFile rts' "var Elm = {}; Elm.Native = {}; Elm.Native.Graphics = {};\n\
152+ \var Elm = {}; Elm.Native = {}; Elm.Native.Graphics = {};\n\
152 \var ElmRuntime = {}; ElmRuntime.Render = {};\n"
153 \var ElmRuntime = {}; ElmRuntime.Render = {};\n"
153 mapM_ (appendTo rts') =<< getFiles ".js" "libraries"
154 mapM_ (appendTo rts') =<< getFiles ".js" "libraries"
154 mapM_ (appendTo rts') elmos
155 mapM_ (appendTo rts') elmos
compiler/Generate/JavaScript.hs+2−1
@@ -293,7 +293,8 @@ generate unsafeModule =
293 thisModule = dotSep ("_elm" : names modul ++ ["values"])
293 thisModule = dotSep ("_elm" : names modul ++ ["values"])
294 programStmts =
294 programStmts =
295 concat
295 concat
296+ [ [ ExprStmt () $ string "use strict" ]
296− [ setup (Just "_elm") (names modul ++ ["values"])
297+ , setup (Just "_elm") (names modul ++ ["values"])
297 , [ IfSingleStmt () thisModule (ret thisModule) ]
298 , [ IfSingleStmt () thisModule (ret thisModule) ]
298 , [ internalImports (List.intercalate "." (names modul)) ]
299 , [ internalImports (List.intercalate "." (names modul)) ]
299 , concatMap jsImport . Set.toList . Set.fromList . map fst $ imports modul
300 , concatMap jsImport . Set.toList . Set.fromList . map fst $ imports modul