@@ -68,8 +68,10 @@ compile opts ms = do
6868 regrouped <- createBindingGroupsModule . collapseBindingGroupsModule $ elaborated
6969 let entryPoints = moduleNameFromString `map` optionsModules opts
7070 let elim = if null entryPoints then regrouped else eliminateDeadCode entryPoints regrouped
71− let js = mapMaybe (flip (moduleToJs opts) env) elim
72− let exts = intercalate "\n" . map (`moduleToPs` env) $ elim
71+ let codeGenModules = moduleNameFromString `map` optionsCodeGenModules opts
72+ let modulesToCodeGen = if null codeGenModules then elim else filter (\(Module mn _ _) -> mn `elem` codeGenModules) elim
73+ let js = mapMaybe (flip (moduleToJs opts) env) modulesToCodeGen
74+ let exts = intercalate "\n" . map (`moduleToPs` env) $ modulesToCodeGen
7375 js' <- case mainModuleIdent of
7476 Just mmi -> do
7577 when ((mmi, Ident C.main) `M.notMember` names env) $