@@ -114,11 +114,10 @@ codegenJs conf ci =
114 debug <- isYes <$> lookupEnv "IDRISJS_DEBUG"
114 debug <- isYes <$> lookupEnv "IDRISJS_DEBUG"
115 let defs' = Map.fromList $ liftDecls ci
115 let defs' = Map.fromList $ liftDecls ci
116 let defs = globlToCon defs'
116 let defs = globlToCon defs'
117− let isExec = outputType ci == Executable
117+ let iface = interfaces ci
118− putStrLn $ show $ isExec
119− let used = if isExec then
118+ let used = if iface then
120− Map.elems $ removeDeadCode defs [sMN 0 "runMain"]
119+ Map.elems $ removeDeadCode defs (getExpNames $ exportDecls ci)
121− else Map.elems $ removeDeadCode defs (getExpNames $ exportDecls ci)
120+ else Map.elems $ removeDeadCode defs [sMN 0 "runMain"]
122 when debug $ do
121 when debug $ do
123 writeFile (outputFile ci ++ ".LDeclsDebug") $ (unlines $ intersperse "" $ map show used) ++ "\n\n\n"
122 writeFile (outputFile ci ++ ".LDeclsDebug") $ (unlines $ intersperse "" $ map show used) ++ "\n\n\n"
124 putStrLn $ "Finished calculating used"
123 putStrLn $ "Finished calculating used"
@@ -149,8 +148,8 @@ codegenJs conf ci =
149 , doPartials (partialApplications stats), "\n"
148 , doPartials (partialApplications stats), "\n"
150 , doHiddenClasses (hiddenClasses stats), "\n"
149 , doHiddenClasses (hiddenClasses stats), "\n"
151 , out, "\n"
150 , out, "\n"
152− , if isExec then jsName (sMN 0 "runMain") `T.append` "();\n"
153− else T.concat ["module.exports = {\n", T.intercalate ";\n" $ concatMap makeExportDecls (exportDecls ci), "\n};\n"]
151+ , if iface then T.concat ["module.exports = {\n", T.intercalate ";\n" $ concatMap makeExportDecls (exportDecls ci), "\n};\n"]
152+ else jsName (sMN 0 "runMain") `T.append` "();\n"
154 , "}.call(this))"
153 , "}.call(this))"
155 , footer conf
154 , footer conf